Geo-Partitionierung – Übersicht

Auf dieser Seite wird die Funktionsweise der Geo-Partitionierung in Spanner.

Spanner bietet regionale und multiregionale Instanzen Konfigurationen, mit denen Sie Ihre Daten replizieren können für verschiedene Standorte. Mit der Geopartitionierung können Sie Zeilen in Ihrer Datenbanktabelle über verschiedene Instanzkonfigurationen hinweg speichern.

Vorteile und Anwendungsfälle

Die Geopartitionierung bietet unter anderem folgende Vorteile:

  • Reduziert Schreiblatenz und starke Leselatenz, indem Sie Ihre Daten in Standort Ihrer Suchanfrage.

  • Optimiert die Kosten für asymmetrische globale Arbeitslasten (z. B. mit einem Partition us-central1 mit 10 Knoten und Partition asia-south1 mit 2 Knoten).

Im Folgenden sind einige häufige Anwendungsfälle aufgeführt:

  • Nutzerbezogene Daten: Geo-Partitionierung für zu verarbeitende benutzerbezogene Daten und die Daten in einer Region speichern, die dem Nutzer am nächsten ist.

  • Lokalisierte Daten: standortspezifische Informationen wie Verkehrslage und spezielle Informationen Ereignisse.

Funktionsweise der Geopartitionierung

Alle Spanner-Instanzen haben eine Hauptinstanzpartition, die die als default-Partition bezeichnet wird. Wenn Sie keine zusätzlichen Partitionen erstellen, Datenbankobjekte werden in der Standardpartition gespeichert, die sich im selben Standort als Instanzkonfiguration.

Wenn Sie die Daten in einer Datenbank partitionieren möchten, müssen Sie zusätzliche in Ihrer Instanz zu erstellen. Diese von Nutzern erstellten Partitionen haben eine eigene Konfiguration (regional oder multiregional) und Knotenanzahl. Erstellen Sie Ihre Datenbank wie gewohnt. kann Ihre Datenbank mit die in derselben Instanz erstellten Partitionen. Gehen Sie dann so vor: Placements erstellen, die mit verknüpften mit der Partition. Abschließend können Sie Placement-Tabellen erstellen. mit einem Placement-Schlüsselattribut. Sie müssen den Placement-Schlüssel in der DML verwenden. um anzugeben, in welcher Partition sich die Zeilendaten befinden. Wenn Sie nicht-Placement-Tabellen in Ihrer Datenbank enthalten, speichert Spanner diese Daten in der Standardpartition.

Anweisungen zur Verwendung von Partitionen finden Sie unter Partitionen erstellen und verwalten

Was Sie bedenken sollten

Beachten Sie Folgendes, bevor Sie Partitionen, Placements und Placement-Tabellen:

  • Partition location (Partitionsspeicherort): Wählen Sie die Partitionsregionen sorgfältig aus, die meisten Vorteile für Ihre Anwendung.

    Obwohl Sie mit einer regionalen Instanz Partitionen in einer Instanz erstellen können, Konfiguration ist, empfehlen wir, dass Sie Partitionen in einer Instanz mit einer multiregionale Instanzkonfiguration, sodass der Standardpartitionsspeicherort auch in einer multiregionalen Konfiguration.

    Wählen Sie außerdem einen multiregionalen Standardpartitionsspeicherort aus, nicht schreibgeschützte und schreibgeschützte Regionen, die alle erforderlichen Gerichtsbarkeiten abdecken durch Ihre Anwendung. Erstellen Sie dann zusätzliche Partitionen (die regional) mit führenden Regionen, die den Regionen im multiregionalen Standardpartition.

  • Anzahl der Partitionen: Zu viele Partitionen können zusätzlichen Aufwand verursachen, bieten möglicherweise nicht genügend Vorteile. Sie können maximal zehn Partitionen pro Instanz zu erstellen.

Beschränkungen

Die Geopartitionierung unterliegt den folgenden Einschränkungen:

  • Die Geopartitionierung unterstützt keine PostgreSQL-Dialekt-Datenbanken.
  • Sie können eine Instanzpartition nicht mit einer Dual-Region-Konfiguration erstellen.
  • Für jede Partition muss die Rechenkapazität mindestens einen Knoten (1.000 Knoten) betragen Verarbeitungseinheiten).
  • Sie können für eine bestimmte Instanz maximal eine Partition erstellen, verwendet dieselbe Basisinstanzkonfiguration. Beispiel: test-instance, Sie können nicht die zwei Partitionen partition-1 und partition-2, die beide us-central1 als Partitionskonfiguration verwenden.
  • Auf jeden Knoten in Ihrer Partition können maximal 20 Millionen Zeilen platziert werden. Sie sehen die Anzahl der Zeilen, die in den einzelnen auf der Seite „Partitionen“ der Google Cloud Console.
  • Spanner für jeden Knoten in der Zielinstanzpartition Etwa zehn Placement-Zeilen pro Sekunde verschieben
  • Sie können keine Partitionen in kostenlosen Testinstanzen erstellen oder Instanzen mit detaillierter Größe, die kleiner als ein Knoten sind (1.000 Verarbeitungseinheiten).
  • Sie können keine Sicherungen für Instanzen mit Partitionen erstellen.
  • Sie können keine vom Kunden verwalteten Verschlüsselungsschlüssel für Instanzen mit Partitionen.
  • Sie können keine Instanzpartitionen in einer Instanz mit verwaltetem autoscaler aktiviert.
  • Sie können die Partition nicht in eine andere Instanzkonfiguration verschieben.
  • Sie können keine Instanz verschieben, die Partitionen enthält.
  • Die Verwendung von Partitionen garantiert keine Sicherheit, Compliance und gesetzlichen Vorschriften. Anforderungen.
  • Änderungsstreams unterstützen keine partitionierten Daten.
  • Um die Geopartitionierung zu verwenden, müssen Sie eine neue, leere Datenbank erstellen und den Parameter opt_in_dataplacement_preview Option zu true. Weitere Informationen finden Sie unter Daten-Placements erstellen und verwalten
  • Wenn Sie die DML-Anweisung INSERT oder DELETE für eine Placement-Tabelle verwenden, muss die einzige Anweisung in der Transaktion sein.

Zugriffssteuerung mit IAM

Sie benötigen das spanner.instancePartitions.create, spanner.instancePartitions.update und spanner.instancePartitions.delete Berechtigungen zum Erstellen und Verwalten von Partitionen. Wenn Sie nur die benötigen Sie die spanner.instancePartitions.list oder Berechtigung „spanner.instancePartitions.get“. Weitere Informationen finden Sie unter IAM-Übersicht

Informationen zum Gewähren von Spanner-IAM-Berechtigungen finden Sie unter IAM-Berechtigungen anwenden

Monitoring

Spanner bietet verschiedene Messwerte, mit denen Sie Ihre Partitionen. Nachdem Sie eine zusätzliche Partition erstellt haben, wird die Meldung Zusätzlicher Drop-down-Filter für Partitionen in den Systemstatistiken in der Google Cloud Console. Standardmäßig werden Messwerte für Alle Partitionen: Über das Drop-down-Menü können Sie die Messwerte nach bestimmten -Partition an.

Weitere Informationen zum Überwachen Ihrer Spanner-Ressourcen finden Sie unter Instanzen mit Cloud Monitoring überwachen

Preise

Für die Verwendung der Geopartitionierung fallen keine zusätzlichen Kosten an. Die Kosten werden wie folgt berechnet: Standard-Spanner-Preisen für die Rechenkapazität berechnen, und den Speicherverbrauch der Datenbank.

Weitere Informationen finden Sie unter Spanner-Preise.

Nächste Schritte