Übersicht über APIs, Clientbibliotheken und ORM-Treiber

Verfügbare Oberflächen

Für die Interaktion mit Cloud Spanner können Sie eine von mehreren programmgesteuerten Benutzeroberflächen verwenden. Wir empfehlen die Nutzung der folgenden verfügbaren Oberflächen in der angegebenen Reihenfolge:

  • Clientbibliotheken: Die Cloud Spanner-Clientbibliotheken sind in mehreren Sprachen verfügbar und basieren auf BeyondCorp. Diese Clientbibliotheken bieten eine Abstraktionsebene zusätzlich zu gRPC und verarbeiten die Details von Sitzungsverwaltung, Transaktionsausführung, Wiederholungen und mehr.
  • ORM und Framework-Treiber: Google unterstützt Open-Source-Cloud Spanner-Treiber für verschiedene beliebte objektrelationale Zuordnungsbibliotheken (ORMs) und Frameworks, wie JDBC. Diese Treiber ermöglichen die Verwendung von Cloud Spanner-Datenbanken über APIs, die von diesen Frameworks definiert werden.
  • RPC API: Wenn für Ihre bevorzugte Programmiersprache keine Clientbibliothek verfügbar ist, verwenden Sie die RPC API. Sie basiert auf gRPC. gRPC bietet eine Reihe von Leistungsvorteilen gegenüber der REST API. Dazu gehören Objektdarstellungen im Protokollpufferformat, die im Vergleich zu JSON schneller erstellt und genutzt werden können, sowie permanente Verbindungen, die den Systemaufwand pro Anfrage reduzieren. Weitere Informationen zu diesen und anderen Vorteilen finden Sie unter gRPC-Konzepte.
  • REST API: Wenn Sie die Cloud Spanner-Clientbibliotheken oder die RPC API nicht verwenden können, verwenden Sie die REST API. Beachten Sie, dass einige Funktionen, die in der RPC API verfügbar sind, in der REST API nicht wie unten beschrieben unterstützt werden.

RPC und REST API im Vergleich

In dieser Tabelle werden die Cloud Spanner-Funktionen verglichen, die über die zugehörigen RPC- und REST API-Schnittstellen verfügbar sind.

Feature In der RPC-API unterstützt? In der REST-API unterstützt?
Anfrage abbrechen Ja Nein
Frist oder Zeitlimit für Anfrage festlegen Ja Nein
Streaminganfrage senden Ja. Weitere Informationen finden Sie unter ExecuteStreamingSQL und StreamingRead. Teilweise. HTTP-Streaming wird unterstützt, die Ablaufsteuerung auf Anwendungsebene jedoch nicht.

ORM- und Framework-Unterstützung von Drittanbietern

In der folgenden Tabelle sind alle von Google bereitgestellten Open-Source-Cloud Spanner ORM- und Framework-Treiber aufgelistet sowie die wichtigsten Cloud Spanner-Features, die jeweils unterstützt werden.

Feature JDBC Hibernate Spring Data R2DBC* Entitätsframework Aktiver Datensatz SQLAlchemie
Sprache Java Java Java Java C# Ruby Python
Für Anweisungen unterstützte Hinweise
Mutationen
Batch-DML
Veraltete Lesevorgänge
Überlappende Tabellen
Partitionierte DML
Sitzungslabels
Priorität der Anfrage
JSON-Typ
Tagging anfordern
Beschränkungen Ansicht Ansicht Ansicht Ansicht

* In dieser Spalte wird R2DBC bei Verwendung mit Spring Data beschrieben.
† Nur verfügbar, wenn literale SQL-Abfragen über die Annotation @Query von Spring Data gesendet werden.

Cloud Spanner unterstützt auch ein JWT-kompatibles ORM mit eingeschränkten Funktionen. Weitere Informationen zu aktuellen Einschränkungen