Interfacce disponibili
Puoi utilizzare una delle diverse interfacce di programmazione quando interagisci con Spanner. Di seguito sono riportate le interfacce disponibili, nell'ordine in cui ti consigliamo di utilizzarle:
- Librerie client: le librerie client di Spanner sono disponibili in più linguaggi e sono basate su gRPC. Queste librerie client forniscono un livello di astrazione su gRPC e gestiscono i dettagli della gestione delle sessioni, dell'esecuzione delle transazioni, dei nuovi tentativi e altro ancora.
- Driver ORM e framework: Assistenza Google supporta i driver Spanner open source per diverse librerie di mappatura relazionale degli oggetti (ORM) e framework popolari, come JDBC. Questi driver consentono l'utilizzo dei database Spanner tramite le API definite da questi framework.
- API RPC: se non è disponibile una libreria client o un driver ORM per il tuo linguaggio di programmazione preferito, utilizza l'API RPC, basata su gRPC. gRPC offre una serie di vantaggi in termini di prestazioni rispetto all'utilizzo dell'API REST, tra cui la rappresentazione degli oggetti nel formato buffer di protocollo (che sono più veloci da produrre e utilizzare rispetto a JSON) e le connessioni persistenti (che comportano un overhead per richiesta inferiore). Scopri di più su questi e altri vantaggi in Concetti di gRPC.
- API REST: se non puoi utilizzare le librerie client di Spanner o l'API RPC, utilizza l'API REST. Tieni presente che alcune funzionalità disponibili nell'API RPC non sono supportate nell'API REST, come documentato di seguito.
API RPC e API REST
Questa tabella mette a confronto le funzionalità di Spanner disponibili tramite le interfacce API RPC e API REST.
| Funzionalità | Supportato nell'API RPC? | Supportato nell'API REST? |
|---|---|---|
| Annullamento di una richiesta | Sì | No |
| Impostazione di una scadenza o di un timeout per una richiesta | Sì | No |
| Invio di una richiesta di streaming | Sì. Consulta ExecuteStreamingSQL e StreamingRead. |
Parziale. Lo streaming HTTP è supportato, ma il controllo di flusso a livello di applicazione non lo è. |
Supporto delle funzionalità delle librerie client
La tabella seguente elenca le librerie client, indicando le principali funzionalità di Spanner supportate da ciascuna.