Panoramica delle API, delle librerie client e dei driver ORM

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Interfacce disponibili

Quando interagisci con Spanner, puoi utilizzare una delle diverse interfacce di pubblicità programmatica. Ecco le interfacce disponibili nell'ordine consigliato:

  • Librerie client: le librerie client di Spanner sono disponibili in più lingue e sono basate su gRPC. Queste librerie client offrono un livello di astrazione in aggiunta a gRPC e gestiscono i dettagli della gestione delle sessioni, dell'esecuzione delle transazioni, dei nuovi tentativi e altro ancora.
  • Driver ORM e framework: Google supporta i driver Spanner open source per diverse librerie di mappatura degli oggetti relazionali (ORM) e framework, come JDBC. Questi driver consentono l'utilizzo di database Spanner tramite API definite da questi framework. Per scoprire di più, consulta l'articolo Panoramica dei conducenti.
  • API RPC: se non è disponibile una libreria client o un driver ORM per il linguaggio di programmazione che preferisci, 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 permanenti (il che comporta un sovraccarico 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 supportate nell'API REST, come documentato di seguito.

Confronto tra RPC e API REST

Questa tabella mette a confronto le funzionalità Spanner disponibili tramite le relative interfacce API RPC e REST.

Funzionalità Supportato nell'API RPC? Supportato nell'API REST?
Annullare una richiesta No
Impostare una scadenza o un timeout per una richiesta No
Invio di una richiesta di streaming Sì. Vedi ExecuteStreamingSQL e StreamingRead. Parziale. Il streaming HTTP è supportato, ma non il controllo del flusso a livello di applicazione.

Supporto delle funzionalità delle librerie client

Nella tabella seguente sono elencate le librerie client, annotando le funzionalità principali di Cloud Spanner supportate da ognuna.

Client Go Java Node.js Python Ruby C++ PHP C#
Suggerimenti per la dichiarazione
Mutazioni
DML batch
DDL batch
Letture inattive
Tabelle con interfoliazione
DML partizionato
Etichettatura delle sessioni
Priorità richiesta
Tipo JSON
Tagging delle richieste
Opzione leader configurabile
Lettura partizionata
Interfaccia PostgreSQL