Übersicht über APIs, Clientbibliotheken und ORM-Treiber

Verfügbare Oberflächen

Sie können eine von mehreren programmatischen Oberflächen verwenden, wenn Sie mit Spanner. Wir empfehlen die Nutzung der folgenden verfügbaren Oberflächen in der angegebenen Reihenfolge:

  • Clientbibliotheken: Die Spanner-Clientbibliotheken werden sind in mehreren Sprachen verfügbar und basieren auf gRPC. Diese Kunden Bibliotheken bieten eine Abstraktionsebene über gRPC und verarbeiten die Details. wie Sitzungsverwaltung, Transaktionsausführung, Wiederholungsversuche und mehr.
  • ORM- und Framework-Treiber: Google unterstützt das Open-Source-Tool Spanner. Treiber für verschiedene beliebte objektrelationale Mapping-Bibliotheken (ORMs) und wie JDBC. Diese Treiber ermöglichen die Verwendung von 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 die Clientbibliotheken von Spanner nicht verwendet werden können oder die RPC API verwenden, verwenden Sie die REST API. Beachten Sie, dass einige Funktionen, in der RPC API werden in der REST API nicht unterstützt (siehe unten).

RPC und REST API im Vergleich

In dieser Tabelle werden die Spanner-Features verglichen, die über die 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.

Unterstützte Clientbibliotheken

In der folgenden Tabelle sind die Clientbibliotheken aufgeführt, wobei die wichtigsten Spanner-Features aufgeführt sind, die von jeder Version unterstützt werden.

Kunde Go Java Node.js Python Ruby C++ PHP C#
Für Anweisungen unterstützte Hinweise
Mutationen
Batch-DML
Batch-DDL
Veraltete Lesevorgänge
Überlappende Tabellen
Partitionierte DML
Labels für Sitzungen
Anfragepriorität
JSON-Typ
Tagging anfordern
Konfigurierbare Option für Führungspersonen
Partitionierter Lesevorgang
PostgreSQL-Schnittstelle