Panoramica di API, librerie client e driver ORM

Interfacce disponibili

Quando interagisci con Spanner, puoi utilizzare una delle diverse interfacce di programmazione. Queste sono le interfacce disponibili, nell'ordine in cui consigliamo di utilizzarle:

  • Librerie client: le librerie client di Spanner sono disponibili in più lingue e sono basate su gRPC. Queste librerie client forniscono un livello di astrazione sopra gRPC e gestiscono i dettagli di gestione delle sessioni, esecuzione delle transazioni, tentativi e altro ancora.
  • Driver ORM e framework: Google supporta i driver Spanner open source per diverse librerie e framework di mapping relazionale degli oggetti (ORM) e framework, come JDBC. Questi driver consentono l'utilizzo di database Spanner tramite le API definite da questi framework.
  • 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 protocol buffer (più veloci da produrre e utilizzare rispetto a JSON) e connessioni persistenti (che comportano un overhead inferiore per richiesta). 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.

API RPC e API REST

Questa tabella confronta le funzionalità di Spanner disponibili tramite le 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. Lo streaming HTTP è supportato, ma il controllo del flusso a livello di applicazione non lo è.

Supporto delle funzionalità delle librerie client

La tabella seguente elenca le librerie client, indicando le principali funzionalità di Spanner supportate da ciascuna.

Client Go Java Node.js Python Ruby C++ PHP C#
Batch DDL
DML batch
Opzione leader configurabile
Query del grafico
Tabelle interleaved
Tipo JSON
Mutazioni
DML partizionato
Lettura partizionata
Interfaccia PostgreSQL
Priorità della richiesta
Richiesta di tagging
Etichettatura delle sessioni
Letture inattive
Suggerimenti per le dichiarazioni