Interfacce disponibili
Puoi utilizzare una delle numerose interfacce di pubblicità programmatica quando interagisci Spanner. Queste sono le interfacce disponibili, nell'ordine in cui consigliamo di utilizzarli:
- Librerie client: le librerie client di Spanner vengono sono disponibili in più lingue e sono basate su gRPC. Questi client le librerie forniscono un livello di astrazione su gRPC e gestiscono i dettagli gestione delle sessioni, esecuzione di transazioni, nuovi tentativi e altro ancora.
- Driver ORM e framework: Google supporta Spanner open source per diversi ORM (Object-Relazionale Map Library) e come JDBC. Questi driver consentono l'utilizzo dei database Spanner tramite API definite da questi framework.
- API RPC: se una libreria client o un driver ORM non è disponibile per la tua programmazione nel linguaggio che preferisci, utilizza l'API RPC, basata su gRPC. gRPC offre una serie di vantaggi in termini di prestazioni rispetto all'uso dell'API REST, inclusa la rappresentazione di oggetti in formato di buffer di protocollo (che sono più veloci per vengono generate e utilizzate rispetto a JSON) e permanenti (che un overhead per richiesta inferiore. Scopri di più su questi e altri vantaggi in Concetti di gRPC.
- API REST: se non riesci a 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 supportati nell'API REST, come documentato di seguito.
RPC e API REST
Questa tabella mette a confronto le funzionalità di Spanner disponibili tramite le interfacce RPC e API REST.
Funzionalità | Supportata nell'API RPC? | Supportata nell'API REST? |
---|---|---|
Annullamento di una richiesta | Sì | No |
Impostare una scadenza o un timeout per una richiesta | Sì | No |
Invio di una richiesta di streaming | Sì. vedi ExecuteStreamingSQL e StreamingRead . |
Parziale. È supportato il flusso di dati HTTP, al contrario del controllo del flusso a livello di applicazione. |
Supporto delle funzionalità delle librerie client
La tabella seguente elenca le librerie client, indicando le principali funzionalità di Spanner supportate da ognuna.