BigQuery-Ziel konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Datastream so konfigurieren, dass Sie Daten in BigQuery-Datasets schreiben können.

Erforderliche Berechtigungen

Datastream nutzt die integrierte BigQuery-Unterstützung für CDC-Updates (Change Data Capture). Datastream aktualisiert die BigQuery-Tabellen durch Verarbeitung und Anwendung von gestreamten Änderungen mit der BigQuery Storage Write API.

Die Berechtigungen, die für die Verwendung der API und das Erfassen von Daten in BigQuery erforderlich sind, werden der Rolle Datastream Service Agent gewährt.

BigQuery als Ziel konfigurieren

Führen Sie die folgenden Schritte aus, um Datastream für das Streaming zu BigQuery zu konfigurieren:

  1. Achten Sie darauf, dass die BigQuery API in Ihrem Google Cloud-Projekt aktiviert ist.
  2. Wenn Sie die Option Einzelnes Dataset für alle Schemas verwenden möchten, erstellen Sie ein Dataset in BigQuery.
  3. Ziel-Dataset für den Stream konfigurieren
  4. Schreibmodus konfigurieren
  5. Geben Sie das Limit für die maximale Veralterung der Daten für Ihren Stream an.

Ziel-Datasets konfigurieren

Datasets sind Container auf oberster Ebene, mit denen Sie den Zugriff auf Ihre BigQuery-Tabellen organisieren und steuern können.

Wenn Sie Datasets für das BigQuery-Ziel mit Datastream konfigurieren, können Sie eine der folgenden Optionen auswählen:

  • Dataset für jedes Schema: Das Dataset wird anhand des Schemanamens der Quelle ausgewählt oder automatisch von Datastream am angegebenen BigQuery-Standort erstellt. Daher hat jedes Schema in der Quelle ein entsprechendes Dataset in BigQuery. Wenn Sie beispielsweise eine MySQL-Quelle haben und diese Quelle eine mydb-Datenbank und eine employees-Tabelle in der Datenbank enthält, erstellt Datastream das mydb-Dataset und die employees-Tabelle in BigQuery.

    Wenn Sie diese Option auswählen, erstellt Datastream Datasets in dem Projekt, das den Stream enthält. Sie müssen die Datasets nicht in derselben Region wie Ihren Stream erstellen. Wir empfehlen jedoch, alle Ressourcen für den Stream sowie Datasets in derselben Region zu platzieren, um Kosten und Leistung zu optimieren.

  • Einzelnes Dataset für alle Schemas: Sie wählen ein BigQuery-Dataset für den Stream aus. Datastream streamt alle Daten in dieses Dataset. Für das ausgewählte Dataset erstellt Datastream alle Tabellen als <schema>_<table>.

    Wenn Sie beispielsweise eine MySQL-Quelle mit der Datenbank mydb und der Tabelle employees in der Datenbank haben, erstellt Datastream die Tabelle mydb_employees im ausgewählten Dataset.

Schreibmodus konfigurieren

Es gibt zwei Modi, mit denen Sie festlegen können, wie Ihre Daten in BigQuery geschrieben werden sollen:

  • Zusammenführen: Dies ist der Standardschreibmodus. Wenn diese Option ausgewählt ist, wird in BigQuery die Art und Weise berücksichtigt, wie Ihre Daten in der Quelldatenbank gespeichert sind. Das bedeutet, dass Datastream alle Änderungen an Ihren Daten in BigQuery schreibt und BigQuery die Änderungen dann mit vorhandenen Daten zusammenführt. So werden endgültige Tabellen erstellt, die Replikate der Quelltabellen sind. Im Zusammenführungsmodus wird kein Verlaufsdatensatz der Änderungsereignisse geführt. Wenn Sie beispielsweise eine Zeile einfügen und dann aktualisieren, werden in BigQuery nur die aktualisierten Daten beibehalten. Wenn Sie die Zeile dann aus der Quelltabelle löschen, speichert BigQuery keinen Datensatz mehr für diese Zeile.

  • Nur anhängen: Im Schreibmodus „Nur anhängen“ können Sie Daten als Stream von Änderungen (INSERT-, UPDATE-INSERT-, UPDATE-DELETE- und DELETE-Ereignisse) in BigQuery einfügen. Verwenden Sie diesen Modus, wenn Sie den bisherigen Status Ihrer Daten beibehalten müssen. Die folgenden Szenarien veranschaulichen den Nur-Anhängen-Schreibmodus:

    • Erster Backfill: Nach dem ersten Backfill werden alle Ereignisse als Ereignisse vom Typ INSERT mit demselben Zeitstempel, derselben UUID (Universally Unique Identifier) und derselben Änderungsfolgenummer in BigQuery geschrieben.
    • Aktualisierung des Primärschlüssels: Wenn sich ein Primärschlüssel ändert, werden zwei Zeilen in BigQuery geschrieben:
      • Eine UPDATE-DELETE-Zeile mit dem ursprünglichen Primärschlüssel
      • Eine UPDATE-INSERT-Zeile mit dem neuen primären Schlüssel
    • Zeilenaktualisierung: Wenn Sie eine Zeile aktualisieren, wird eine einzelne UPDATE-INSERT-Zeile in BigQuery geschrieben.
    • Löschen von Zeilen: Wenn Sie eine Zeile löschen, wird eine einzelne DELETE-Zeile in BigQuery geschrieben.

Limit für veraltete Daten festlegen

Je nach konfiguriertem Limit für die Veralterung wendet BigQuery die Änderungen laufend im Hintergrund oder bei der Abfrageausführung an. Wenn Datastream eine neue Tabelle in BigQuery erstellt, wird die Option max_staleness der Tabelle entsprechend dem aktuellen Wert für das Limit für die Veralterung von Daten für den Stream festgelegt.

Weitere Informationen zur Verwendung von BigQuery-Tabellen mit der Option max_staleness finden Sie unter Tabellenalter.