Panoramica di API, librerie client e driver ORM

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 No
Impostazione di una scadenza o di un timeout su una richiesta 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.

Client Go Java Node.js Python Ruby C++ PHP C#
Suggerimenti per le dichiarazioni
Mutazioni
DML batch
DDL batch
Letture persistenti
Tabelle con interfoliazione
DML partizionato
Etichettatura delle sessioni
Priorità richiesta
Tipo JSON
Richiedere il tagging
Opzione leader configurabile
Lettura partizionata
Interfaccia PostgreSQL