Interfacce disponibili
Quando interagisci con Spanner, puoi utilizzare una delle diverse interfacce di pubblicità programmatica. Ecco le interfacce disponibili nell'ordine in cui le 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 che si aggiunge a gRPC e gestiscono i dettagli di gestione delle sessioni, esecuzione delle transazioni, nuovi tentativi e altro ancora.
- Driver ORM e dei framework: Google supporta i driver Spanner open source per diverse librerie di mappatura relazionali degli oggetti (ORM) e framework, come JDBC. Questi driver consentono l'utilizzo di database Spanner tramite API definite da questi framework.
- API RPC: se una libreria client o un driver ORM non sono disponibili per il linguaggio di programmazione scelto, 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 di oggetti in formato buffer di protocollo (che sono più veloci da produrre e consumano rispetto a JSON) e connessioni persistenti (che comportano un sovraccarico per le richieste inferiore). Scopri di più su questi e altri vantaggi nei concetti di gRPC.
- API REST: se non riesci a utilizzare le librerie client di Spanner o l'API RPC, usa 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
Questa tabella confronta le funzionalità di Spanner disponibili tramite le sue interfacce API RPC e REST.
Funzionalità | Supportato nell'API RPC? | Supportato nell'API REST? |
---|---|---|
Annullare una richiesta | Sì | No |
Impostazione di una scadenza o di un timeout su una richiesta | Sì | No |
Invio di una richiesta di streaming | Sì. Vedi ExecuteStreamingSQL e StreamingRead . |
Parziale. Lo streaming HTTP è supportato, ma non il controllo del flusso a livello di applicazione. |
Supporto delle funzionalità delle librerie client
Nella tabella che segue vengono elencate le librerie client, indicate le principali funzionalità di Cloud Spanner supportate da ognuna.