Zu verwalteter Notfallwiederherstellung migrieren

Auf dieser Seite wird beschrieben, wie Sie von der regionenübergreifenden Replikation in BigQuery zur von BigQuery verwalteten Notfallwiederherstellung migrieren.

Übersicht

Die regionenübergreifende Replikation (Cross-Region Replication, CRR) und die verwaltete Notfallwiederherstellung (Disaster Recovery, DR) in BigQuery sind Funktionen, die die Datenverfügbarkeit und die Notfallwiederherstellungsfunktionen verbessern sollen. Sie gehen jedoch unterschiedlich mit regionalen Ausfällen um. Mit CRR kann das sekundäre Replikat nicht hochgestuft werden, wenn die primäre Region nicht verfügbar ist. Im Gegensatz dazu bietet DR einen umfassenderen Schutz, da ein Failover zum sekundären Replikat auch dann möglich ist, wenn die primäre Region nicht verfügbar ist. Bei CRR wird nur der Speicher repliziert, bei DR werden sowohl Speicher- als auch Rechenkapazität repliziert.

In der folgenden Tabelle werden die Funktionen von CRR und DR beschrieben:

Funktion CRR DR
Erster Replikationsprozess Verwendet CRR, um das Dataset anfänglich zu replizieren. Die erste Last wird zuvor mit CRR repliziert, bevor ein CRR-Dataset zu einem DR-Dataset migriert wird.
Replikation der Hochstufung Verwendet die Standardreplikation. Verwendet die Turboreplikation.
Hochstufungsprozess Wird auf Dataset-Ebene hochgestuft. Wird auf Reservierungsebene hochgestuft (Reservierungs-Failover und Dataset Hochstufung). Viele Datasets können an eine Failover-Reservierung angehängt werden. Die Hochstufung auf Dataset-Ebene ist mit DR nicht verfügbar.
Ausführung der Hochstufung Über die Benutzeroberfläche oder einen SQL-basierten DDL-Befehl für jedes Dataset. Die Befehlszeile, Clientbibliotheken, API oder Terraform werden nicht unterstützt. Über die Benutzeroberfläche oder einen SQL-basierten DDL-Befehl für jede EPE Reservierung. Die Befehlszeile, Client bibliotheken, API oder Terraform werden nicht unterstützt.
Failover-Modus Weicher Failover. Harter Failover.
Versionsanforderung Beliebiges Kapazitätsmodell. Enterprise Plus-Version.
Beschränkungen CRR-Beschränkungen. Umfasst sowohl CRR Beschränkungen als auch DR Beschränkungen.
Schreibzugriff Jobs, die mit einem beliebigen Kapazitätsmodell ausgeführt werden, können in die replizierten Datasets in der primären Region schreiben. Die sekundäre Region ist immer schreibgeschützt. Nur die Jobs, die mit Enterprise Plus Reservierungen ausgeführt werden, können in die replizierten Datasets in der primären Region schreiben. Sekundäre Dataset- und Reservierungsreplikate sind immer schreibgeschützt.
Lesezugriff Jobs, die mit einem beliebigen Kapazitätsmodell ausgeführt werden, können aus replizierten Datasets lesen. Jobs, die mit einem beliebigen Kapazitätsmodell ausgeführt werden, können aus replizierten Datasets lesen.

Auswirkungen der Migration

In den folgenden Abschnitten finden Sie eine Übersicht über die Kosten- und Funktionsänderungen, die bei der Migration zu DR auftreten.

Auswirkungen auf die Kosten

Beachten Sie bei der Migration von CRR zu DR die folgenden Auswirkungen auf die Kosten:

  • DR unterstützt nur Schreibzugriff über die Enterprise Plus-Version, was zu höheren Compute-Kosten führt. Sie können aus jedem Kapazitätsmodell lesen, sodass sich die Lesekosten für vorhandene Jobs nicht ändern.

  • DR verwendet die Turbo replikation, die je nach Regionspaar zusätzliche Kosten verursacht.

  • Die Speicherpreise sind für CRR und DR gleich.

Weitere Informationen zu Preisen finden Sie im Preisüberblick.

Auswirkungen auf die Funktionen

Beachten Sie bei der Migration von CRR zu DR die folgenden Auswirkungen auf die Funktionen:

  • DR unterstützt nur Failover auf Reservierungsebene. Alle vorhandenen Jobs, die auf Failover auf Dataset-Ebene angewiesen sind, schlagen fehl.

  • Nur Abfragen der Enterprise Plus-Version können in das Dataset schreiben, nachdem es an die DR-Reservierung angehängt wurde. Alle vorhandenen Schreibjobs, die keine Enterprise Plus-Version für ihre Rechenkapazität verwenden, schlagen fehl.

Hinweis

Bevor Sie mit der Migration beginnen, sollten Sie sich mit den Konzepten der regionenübergreifenden Replikation und der verwalteten Notfallwiederherstellung vertraut machen.

Für die Migration zu DR müssen die folgenden Voraussetzungen erfüllt sein:

  • Sie haben ein aktives Google Cloud Projekt, für das BigQuery aktiviert ist.

  • Sie haben Datasets mit CRR erstellt und repliziert.

  • Die Datasets haben dieselben primären und sekundären Standorte, die Sie für DR verwenden möchten.

  • Sie haben die erforderlichen Berechtigungen für die Arbeit mit DR. Weitere Informationen zu Berechtigungen finden Sie unter Hinweis.

Von CRR zu DR migrieren

In den folgenden Abschnitten wird beschrieben, wie Sie Ihre Datasets von CRR zu DR migrieren. Dabei wird davon ausgegangen, dass Sie Ihre Datasets bereits für CRR konfiguriert haben.

Failover-Reservierung erstellen

Zur Aktivierung der Notfallwiederherstellung müssen Sie eine Failover-Reservierung in der primären Region erstellen. Konfigurieren Sie Ihre Reservierung mit der entsprechenden primären und sekundären Region. Die primäre und die sekundäre Region müssen mit den Regionen aller CRR-Datasets übereinstimmen, die Sie zu DR migrieren möchten. Wählen Sie eine der folgenden Optionen, um eine Failover-Reservierung zu erstellen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Arbeitslastverwaltung und dann auf Reservierung erstellen.

  3. Geben Sie im Feld Name der Reservierung einen Namen für die Reservierung ein.

  4. Wählen Sie in der Liste Standort einen Standort aus.

  5. Wählen Sie in der Liste Version die Enterprise Plus-Version aus.

  6. Wählen Sie in der Liste Maximale Reservierungsgröße die maximale Reservierungsgröße aus.

  7. Optional: Geben Sie im Feld Referenz-Slots die Anzahl der Referenz-Slots für die Reservierung ein.

    Die Anzahl der verfügbaren Autoscaling-Slots wird bestimmt, indem der Wert für Referenz-Slots vom Wert Maximale Reservierungsgröße abgezogen wird. Wenn Sie beispielsweise eine Reservierung mit 100 Referenz-Slots und einer maximalen Reservierungsgröße von 400 erstellen, hat Ihre Reservierung 300 Autoscaling-Slots. Weitere Informationen zu Referenz-Slots finden Sie unter Reservierungen mit Slots für Referenz und Autoscaling verwenden.

  8. Wählen Sie in der Liste Sekundärer Standort den sekundären Standort aus.

  9. Wenn Sie die Freigabe inaktiver Slots deaktivieren und nur die angegebene Slotkapazität verwenden möchten, klicken Sie auf den Button Inaktive Slots ignorieren.

  10. Klicken Sie zum Erweitern des Abschnitts Erweiterte Einstellungen auf den Erweiterungspfeil.

  11. Optional: Um die Zielnebenläufigkeit von Jobs festzulegen, klicken und aktivieren Sie den Button Automatische Zielnebenläufigkeit von Jobs überschreiben und geben Sie einen Wert für die Zielnebenläufigkeit von Jobs ein. Die Aufschlüsselung der Slots wird in der Tabelle Kostenschätzung angezeigt. In der Tabelle Kapazitätsübersicht wird eine Zusammenfassung der Reservierung angezeigt.

  12. Klicken Sie auf Speichern.

Die neue Reservierung ist auf dem Tab Slot-Reservierungen zu sehen.

SQL

Verwenden Sie zum Erstellen einer Reservierung die CREATE RESERVATION DDL-Anweisung.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE RESERVATION
      `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`
    OPTIONS (
      slot_capacity = NUMBER_OF_BASELINE_SLOTS,
      edition = ENTERPRISE_PLUS,
      secondary_location = SECONDARY_LOCATION);

    Ersetzen Sie Folgendes:

    • ADMIN_PROJECT_ID: die Projekt-ID des Administrationsprojekts, dem die Reservierungsressource gehört
    • LOCATION: Der Standort der Reservierung. Wenn Sie einen BigQuery Omni-Standort auswählen, ist Ihre Versionsoption auf die Enterprise-Version beschränkt.
    • RESERVATION_NAME: der Name der Reservierung

      Der Name muss mit einem Kleinbuchstaben oder einer Zahl beginnen und enden. Er darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.

    • NUMBER_OF_BASELINE_SLOTS: die Anzahl der Slots, die der Reservierung zugewiesen werden sollen. Sie können die Optionen slot_capacity und edition nicht in derselben Reservierung festlegen.
    • SECONDARY_LOCATION: der sekundäre Standort der Reservierung. Bei einem Ausfall wird für alle mit dieser Reservierung verknüpften Datasets ein Failover zu diesem Standort ausgeführt.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

Dataset an die Reservierung anhängen

Nachdem Sie die Failover-Reservierung erstellt haben, hängen Sie Ihr regionenübergreifendes Dataset oder Ihre regionenübergreifenden Datasets an die Reservierung an. Dadurch wird der Failover für alle angehängten Datasets aktiviert. Wählen Sie eine der folgenden Optionen, um das Dataset an die Reservierung anzuhängen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Klicken Sie im Navigationsmenü auf Arbeitslastverwaltung.

  3. Klicken Sie auf den Tab Slot-Reservierungen.

  4. Klicken Sie auf die Reservierung, an die Sie ein Dataset anhängen möchten.

  5. Klicken Sie auf den Tab Notfallwiederherstellung.

  6. Klicken Sie auf Failover-Dataset hinzufügen.

  7. Geben Sie den Namen des Datasets ein, das Sie mit der Reservierung verknüpfen möchten.

  8. Klicken Sie auf Hinzufügen.

SQL

Mit der DDL-Anweisung ALTER SCHEMA SET OPTIONS können Sie ein Dataset an eine Reservierung anhängen.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER SCHEMA
      `DATASET_NAME`
    SET OPTIONS (
      failover_reservation = ADMIN_PROJECT_ID.RESERVATION_NAME);

    Ersetzen Sie Folgendes:

    • DATASET_NAME: der Name des Datasets

    • ADMIN_PROJECT_ID.RESERVATION_NAME: der Name der Reservierung, der Sie das Dataset zuordnen möchten.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

Konfiguration prüfen

Fragen Sie die INFORMATION_SCHEMA.SCHEMATA_REPLICAS Ansichtab, um den Status Ihrer Konfiguration zu prüfen.

PROJECT_ID.`region-REGION`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS[_BY_PROJECT]

Prüfen Sie, ob die Datasets an die richtige Reservierung in den richtigen Regionen angehängt sind.

Ersetzen Sie Folgendes:
  • Optional: PROJECT_ID: die ID Ihres Google Cloud Projekts. Wenn keine Angabe erfolgt, wird das Standardprojekt verwendet.
  • REGION: ist ein beliebiger Dataset-Regionsname. Beispiel: `region-us`.

Beispiele

Im folgenden Beispiel werden die Schritte zur Migration von CRR zu DR mit praktischen Beispielen mit GoogleSQL beschrieben. Für dieses Beispiel gilt Folgendes:

  • Sie arbeiten in einem Projekt mit dem Namen myproject.

  • Sie haben bereits ein Dataset mit dem Namen mydataset erstellt und für CRR konfiguriert.

  • Die primäre Region von mydataset ist us-central1 und die sekundäre Region ist us-west1.

Erstellen Sie zuerst eine Reservierung mit der Enterprise Plus-Version, um mit der Migration Ihres Datasets zu DR zu beginnen. In diesem Beispiel lautet der Name der Reservierung myreservation.

CREATE RESERVATION `myproject.region-us-central1.myreservation`
OPTIONS (
  slot_capacity = 0,
  edition = ENTERPRISE_PLUS,
  autoscale_max_slots = 50,
  secondary_location = 'us-west-1');

Nachdem die Reservierung erstellt wurde, können Sie das Dataset an die Reservierung anhängen. Im folgenden Beispiel wird das Dataset an die Reservierung angehängt:

ALTER SCHEMA
  `myproject.mydataset`
SET OPTIONS (
  failover_reservation = 'myproject.myreservation');

Prüfen Sie dann, ob das Dataset erfolgreich angehängt wurde.

SELECT
  failover_reservation_project_id,failover_reservation_name,
FROM
 `myproject`.`region-us-west1`.INFORMATION_SCHEMA.SCHEMATA_REPLICAS
WHERE
 schema_name='mydataset';

Die Ergebnisse dieser Abfrage sollten in etwa so aussehen:

+---------------------------------+---------------------------+
| failover_reservation_project_id | failover_reservation_name |
+---------------------------------+---------------------------+
| myproject                       | myreservation             |
| myproject                       | myreservation             |
+---------------------------------+---------------------------+

Nächste Schritte