Panoramica delle API, delle librerie client e dei driver ORM

Interfacce disponibili

Quando interagisci con Cloud Spanner, puoi utilizzare una delle varie interfacce di programmazione. Ecco le interfacce disponibili, nell'ordine che consigliamo di utilizzare:

  • Librerie client: le librerie client di Cloud Spanner sono disponibili in più lingue e sono basate su gRPC. Queste librerie client forniscono un livello di astrazione oltre a gRPC e gestiscono i dettagli di gestione delle sessioni, esecuzione delle transazioni, nuovi tentativi e altro ancora.
  • Driver ORM e framework: Google supporta i driver open source di Cloud Spanner per diverse librerie di mapping degli oggetti (ORM) e framework vigenti, come JDBC. Questi driver consentono l'utilizzo di database Cloud Spanner tramite API definite da questi framework.
  • API RPC: se non è disponibile una libreria client o un driver ORM per il 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 in formato buffer di protocollo (che sono più veloci da produrre e utilizzare rispetto a JSON) e le connessioni permanenti (che generano un overhead di richiesta inferiore). Scopri di più su questi e altri vantaggi in Concetti di base di gRPC.
  • API REST: se non riesci a utilizzare le librerie client di Cloud 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.

RPC e API REST a confronto

Questa tabella mette a confronto le funzionalità di Cloud Spanner disponibili attraverso le interfacce dell'API RPC e REST.

Funzionalità Supportato nell'API RPC? Supportato nell'API REST
Annullare una richiesta No
Impostazione di una scadenza o di un timeout su una richiesta No
Invio di una richiesta di streaming Sì. Consulta ExecuteStreamingSQL e StreamingRead. Parziale. Lo streaming HTTP è supportato, a differenza del controllo del flusso a livello di applicazione.

Supporto ORM e framework di terze parti

La tabella riportata di seguito elenca tutti i driver open source ORM e Cloud Framework di Google, incluse le principali funzionalità di Cloud Spanner supportate da ciascuna.

Funzionalità JDBC Ibernazione Dati di primavera R2DBC* Framework dell'entità Record attivo SQLAlchemy
Lingua Java Java Java Java C# Ruby Python
Suggerimenti per la dichiarazione
Mutazioni
DML batch
Letture temporanee
Tabelle con interfoliazione
DML partizionato
Etichettatura delle sessioni
Priorità richiesta
Tipo JSON
Richiedere la codifica
Limitazioni View (Visualizzazione) View (Visualizzazione) View (Visualizzazione) View (Visualizzazione)

* Questa colonna descrive R2DBC se utilizzato specificamente con Spring Data.
† Disponibile solo per l'invio di query SQL letterali, tramite l'annotazione @Query di Spring Data.

Cloud Spanner supporta anche un ORM compatibile con Django con funzionalità limitate. Vedi le limitazioni attuali.