Übersicht über Spanner Omni

Spanner Omni ist eine Version von Spanner, die überall bereitgestellt werden kann. Damit können Sie die verteilte Datenbanktechnologie von Google in lokalen Rechenzentren, öffentlichen Clouds wie Google Cloud, Amazon Web Services (AWS) und auf Ihrem Laptop ausführen. Sie bietet die wichtigsten Spanner-Funktionen, darunter horizontale Skalierbarkeit, Hochverfügbarkeit, ACID-Konformität und starke externe Konsistenz, indem sie Paxos-basierte Replikation, automatisches Sharding und die softwaredefinierte TrueTime API verwendet.

Spanner Omni integriert relationale, Graph-, Vektor- und Schlüssel/Wert-Datenmodelle mit Volltext- und Betriebsanalysen. Wie Spanner unterstützt Spanner Omni GoogleSQL, PostgreSQL und die Spanner Graph Language. Sie können umgebungsübergreifende Ausfallsicherheit, Anwendungsportierbarkeit und einen konsistenten Entwicklungs-Stack in verschiedenen Umgebungen erreichen. Spanner Omni unterstützt Bereitstellungsoptionen, die Folgendes umfassen:

  • Virtuelle Maschinen
  • Linux-Container
  • Kubernetes-Cluster

Wichtige Features

Spanner Omni bietet die folgenden Funktionen:

  • Flexible Bereitstellung: Spanner Omni kann unter Linux oder macOS ausgeführt werden. Spanner Omni unterstützt öffentliche Cloud-Umgebungen wie Google Cloud (Google Kubernetes Engine (GKE) und Cloud Storage) und Amazon Elastic Kubernetes Service (Amazon EKS) und Amazon Elastic Compute Cloud (Amazon EC2), lokale Umgebungen und Laptops.

  • Hohe Skalierbarkeit: Spanner Omni kann Ihre Daten automatisch fragmentieren und die Shards ausgleichen, um eine elastische Skalierung für Lese- und Schreibvorgänge zu erreichen.

  • Hochverfügbarkeit: Spanner Omni bietet mehrere Bereitstellungstopologien. Spanner Omni bietet die Bereitstellung in mehreren Zonen und Clustern, um im Falle von Zonen- oder Clusterausfällen eine Hochverfügbarkeit zu gewährleisten.

  • Strikte externe Konsistenz: Spanner Omni bietet globale transaktionale Konsistenz mit der softwarebasierten TrueTime, die in jeder Umgebung bereitgestellt werden kann.

  • Interoperables Multi-Modell: Spanner Omni unterstützt mehrere Datenmodelle (relational, Schlüssel/Wert-Paar, Graph, Vektor) und Funktionen (Volltextsuche, analytische Verarbeitung) und bietet modellübergreifende Abfragen und ACID-kompatible Transaktionen für verschiedene Datenmodelle.

  • Vertraute Benutzeroberfläche: Sie können mit Ihren Daten über die Spanner-Befehlszeile interagieren, die eine SQL-Shell für interaktive Abfragen enthält. Spanner Omni unterstützt GoogleSQL- und PostgreSQL-Dialekte sowie GQL, sodass Sie vorhandene Anwendungen migrieren können.

Bereitstellungstopologien

Für die Bereitstellungskonfiguration von Spanner Omni wird eine Hierarchie aus Regionen, Zonen und Servern verwendet. Spanner Omni bietet die folgenden Bereitstellungskonfigurationen:

  • Einzelner Server: Spanner Omni wird auf einem einzelnen Computer ausgeführt. Diese Topologie eignet sich gut für die lokale Entwicklung. Mit Spanner Omni können Sie die Funktion Sichern und Wiederherstellen ohne Einschränkungen verwenden, wenn sie in einer Einzelserverkonfiguration mit vier oder weniger vCPUs bereitgestellt wird. Upgrades für diese Topologie führen zu Ausfallzeiten.

  • Einzelzone (oder zonal): Alle Spanner Omni-Server gehören zu einer Zone. Verwenden Sie für diese Bereitstellungskonfiguration mindestens drei Server. Für eine optimale Betriebszeit hat diese Topologie niedrigere Verfügbarkeitsziele, da ein Ausfall in einer einzelnen Zone zu einem Ausfall führen kann.

  • Mehrzonen- oder regionale Konfiguration: Spanner Omni verteilt Server auf mehrere Zonen. Alle Zonen befinden sich an einem einzigen Ort. Verwenden Sie für Bereitstellungen in mehreren Zonen mindestens drei Zonen. Jede Zone muss mindestens einen Server enthalten. Wir empfehlen, in jeder Zone drei Server zu verwenden. Diese Bereitstellungskonfiguration bietet eine höhere Verfügbarkeit als die Bereitstellung in einer einzelnen Zone.

  • Multi-Cluster (oder multiregional): Spanner Omni-Server befinden sich in mehreren Zonen in mehreren Clustern. Für Hochverfügbarkeit sollten Sie drei Zonen in zwei oder mehr Clustern verwenden und jede Zone mit mindestens drei Servern konfigurieren.

Systemanforderungen

Um die Leistung zu optimieren, sollten Sie die folgenden Mindestanforderungen für Serverbereitstellungen einhalten:

Umgebung Betriebssystem oder Plattform Hardwareempfehlung
Lokal Linux (RHEL 9, Ubuntu 22) 4 GB RAM pro vCPU, mindestens 20 GB Speicherplatz
Cloud (Google Cloud und AWS) VMs oder Kubernetes-Pods 4 vCPUs, 16 GB RAM pro VM oder Kubernetes-Pod
Entwickler (Laptops, Desktop-Computer) macOS (M1, M2, M3) 4 GB RAM, 10 GB Speicherplatz

Für den Speicher wird ein dedizierter SSD-Speicher mit einem ext4-Dateisystem empfohlen.

Konnektivität und Entwicklung

Wenn Sie eine Verbindung zu Spanner Omni herstellen und Anwendungen entwickeln möchten, können Sie die folgenden Tools verwenden:

  • Clientbibliotheken: Sie können vorhandene Spanner-Clientbibliotheken für Java und Go verwenden, indem Sie den Spanner Omni-Endpunkt angeben. In Java legen Sie beispielsweise setExperimentalHost("http://localhost:15000") fest.

  • PGAdapter: Mit diesem Proxy können vorhandene PostgreSQL-Anwendungen über das standardmäßige PostgreSQL-Wire-Protokoll eine Verbindung zu Spanner Omni-Datenbanken mit PostgreSQL-Dialekt herstellen.

  • Diagnose: Mit einem speziellen spanner admin diagnostics create-Befehl werden Protokolle, Traces und Thread-Stacks zur Fehlerbehebung erfasst.