Geopartitionierung – Übersicht

Auf dieser Seite wird die Geopartitionierung in Spanner vorgestellt und erläutert.

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 Vorteile der Geopartitionierung:

  • Schreib- und Leselatenz werden reduziert, da Sie Ihre Daten am selben geografischen Standort wie die Abfrage speichern können.

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

Im Folgenden sind einige gängige Anwendungsfälle aufgeführt:

  • Nutzerbezogene Daten: Nutzerbezogene Daten werden geografisch partitioniert, um sie in einer Region zu verarbeiten und zu speichern, die dem Nutzer am nächsten ist.

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

So funktioniert die 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 in Ihrer Instanz zusätzliche Partitionen erstellen. Diese vom Nutzer erstellten Partitionen haben eine eigene Konfiguration (entweder regional oder multiregional) und eine eigene Knotenanzahl. Erstellen Sie die Datenbank wie gewohnt. Sie kann mit den Partitionen interagieren, die in derselben Instanz erstellt wurden. Gehen Sie dann so vor: Placements erstellen, die mit verknüpften mit der Partition. Außerdem können Sie Placement-Tabellen mit einem Placement-Schlüsselattribut erstellen. 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.

    Sie können zwar Partitionen in einer Instanz mit einer regionalen Instanzkonfiguration erstellen, wir empfehlen jedoch, Partitionen in einer Instanz mit einer multiregionalen Instanzkonfiguration zu erstellen, damit sich der Standardpartitionsort auch in einer multiregionalen Konfiguration befindet.

    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 zu einem Overhead führen, zu wenige bieten möglicherweise nicht genügend Vorteile. Sie können maximal zehn Partitionen pro Instanz zu erstellen.

Beschränkungen

Während der Vorabversion gelten die folgenden Einschränkungen: zur Verfügung gestellt und können bei der GA-Release oder nach folgenden Ereignissen geändert oder entfernt werden:

  • Sie können eine Instanzpartition nicht mit einer Dual-Region-Konfiguration erstellen.
  • Für jede Partition muss die Rechenkapazität mindestens einem Knoten (1.000 Verarbeitungseinheiten) entsprechen.
  • Für eine bestimmte Instanz können Sie nicht mehr als eine Instanzpartition erstellen, die dieselbe Basisinstanzkonfiguration verwendet. Beispiel: test-instance, Sie können nicht die zwei Partitionen partition-1 und partition-2, die beide us-central1 als Partitionskonfiguration verwenden.
  • Für jeden Knoten in Ihrer Partition können Sie maximal 100 Millionen Platzierungszeilen platzieren. Sie können die Anzahl der Placement-Zeilen sehen, das in jeder Ihrer Partitionen auf der Seite „Partitionen“ der Google Cloud Console platziert wird.
  • Für jeden Knoten in der Partition der Zielinstanz kann Spanner etwa 10 Platzierungszeilen pro Sekunde verschieben.
  • In Instanzen des kostenlosen Testzeitraums oder in Instanzen mit einer Größe von weniger als einem Knoten (1.000 Verarbeitungseinheiten) können keine Partitionen erstellt werden.
  • Für Instanzen mit Partitionen können keine Sicherungen erstellt werden.
  • Sie können keine vom Kunden verwalteten Verschlüsselungsschlüssel für Instanzen mit Partitionen.
  • Sie können keine Instanzpartitionen in einer Instanz erstellen, für die der verwaltete Autoscaler aktiviert ist.
  • Sie können die Partition nicht in eine andere Instanzkonfiguration verschieben.
  • Sie können keine Instanz verschieben, die Partitionen enthält. Sie können einzelne Zeilen in verschiedene Partitionen verschieben, sodass Sie die Instanz nicht verschieben müssen.
  • Die Verwendung von Partitionen ist keine Garantie für die Einhaltung von Compliance- und gesetzlichen Anforderungen.
  • Änderungsstreams unterstützen keine partitionierten Daten.
  • Wenn Sie die Geopartitionierung verwenden möchten, müssen Sie eine neue, leere Datenbank erstellen und die Option opt_in_dataplacement_preview auf true festlegen. Weitere Informationen finden Sie unter Partitionen erstellen und verwalten.
  • Wenn Sie eine INSERT- oder DELETE-DML-Anweisung für eine Placement-Tabelle verwenden, muss diese Anweisung 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 Partitionen aufrufen möchten, benötigen Sie die Berechtigung spanner.instancePartitions.list oder spanner.instancePartitions.get. Weitere Informationen finden Sie in der IAM-Übersicht.

Informationen zum Gewähren von IAM-Berechtigungen für Spanner finden Sie unter IAM-Berechtigungen anwenden.

Monitoring

Spanner bietet mehrere Messwerte, mit denen Sie Ihre Partitionen im Blick behalten können. 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 angezeigt. Über das Drop-down-Menü können Sie die Messwerte nach einer bestimmten Partition filtern.

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

Preise

Für die Verwendung der geografischen Partitionierung fallen keine zusätzlichen Kosten an. Ihnen werden die standardmäßigen Spanner-Preise für die von Ihrer Instanz genutzte Rechenkapazität und den von Ihrer Datenbank genutzten Speicherplatz in Rechnung gestellt.

Weitere Informationen finden Sie unter Spanner-Preise.

Nächste Schritte