Übersicht über Spanner Omni

Spanner Omni ist eine herunterladbare Version von Spanner, mit der Sie die verteilte Datenbanktechnologie von Google in lokalen Rechenzentren, öffentlichen Clouds und auf Ihrem Laptop bereitstellen können. Es bietet die wichtigsten Spanner-Funktionen, darunter horizontale Skalierbarkeit, hohe Verfügbarkeit, ACID-Compliance und starke externe Konsistenz, indem es auf Paxos basierende Replikation, automatische Fragmentierung und die softwaredefinierte TrueTime API verwendet.

Spanner Omni integriert relationale, Graph-, Vektor- und Schlüssel/Wert-Paar-Datenmodelle mit Volltext- und operativen Analysefunktionen. Wie Spanner unterstützt Spanner Omni GoogleSQL, PostgreSQL und die Spanner Graph Language. Sie können umgebungsübergreifende Resilienz, Anwendungsportabilität und einen konsistenten Entwicklungsstack in verschiedenen Umgebungen erreichen. Spanner Omni unterstützt Bereitstellungsoptionen, die Folgendes umfassen:

  • Virtuelle Maschinen
  • Linux-Container
  • Kubernetes-Cluster

Die Vorschauversion von Spanner Omni umfasst die Kernfunktionen von Spanner, jedoch ohne Sicherheits- und Datenschutzfunktionen für Unternehmen. Wenn Sie Vorabzugriff auf die Version mit allen Funktionen erhalten möchten, wenden Sie sich an Google.

Wichtige Features

Spanner Omni bietet die folgenden Funktionen:

  • Flexible Bereitstellung: Führen Sie Spanner Omni unter Linux oder macOS aus. Spanner Omni unterstützt öffentliche Cloud-Umgebungen wieGoogle 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 flexible 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 hohe Verfügbarkeit zu gewährleisten.

  • Starke 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, Graph, Vektor) und Funktionen (Volltextsuche, analytische Verarbeitung) und bietet modellübergreifende Abfragen und ACID-konforme 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

Spanner Omni verwendet eine Hierarchie von Regionen, Zonen und Servern, um die Bereitstellungskonfiguration zu definieren. Spanner Omni bietet die folgenden Bereitstellungskonfigurationen:

  • Einzelner Server: Spanner Omni wird auf einem einzelnen Computer ausgeführt. Diese Topologie ist eine gute Option für die lokale Entwicklung, da sie auf einem einzelnen Computer ausgeführt 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 regional: Spanner Omni verteilt Server auf mehrere Zonen. Alle Zonen befinden sich an einem Ort. Verwenden Sie für Bereitstellungen in mehreren Zonen mindestens drei Zonen. Jede Zone muss mindestens einen Server haben. 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 eine hohe Verfü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, 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, sollten Sie die folgenden Tools in Betracht ziehen:

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

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

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