GSP1052

Übersicht
Im heutigen Wettbewerbsumfeld müssen Unternehmen schnell und einfach Entscheidungen auf der Grundlage von Echtzeitdaten treffen können. Datastream für BigQuery bietet eine nahtlose Replikation aus operativen Datenbankquellen wie AlloyDB, MySQL, PostgreSQL und Oracle direkt in BigQuery, das serverlose Data Warehouse von Google Cloud. Mit der serverlosen, automatisch skalierten Architektur ermöglicht Ihnen Datastream das einfache Einrichten einer ELT-Pipeline (Extract, Load, Transform) für die Datenreplikation mit niedriger Latenz. Somit lassen sich Informationen in Echtzeit ableiten.
In diesem Lab stellen Sie eine Cloud SQL for PostgreSQL-Datenbank bereit und importieren ein Beispieldataset über die gcloud
-Befehlszeile. In der Benutzeroberfläche erstellen und starten Sie anschließend einen Datastream-Stream und replizieren die Daten in BigQuery.
Es ist zwar grundsätzlich möglich, Befehle einfach aus dem Lab herauszukopieren und an der entsprechenden Stelle einzufügen. Wir empfehlen jedoch, die Befehle selbst eingeben, damit Sie die wichtigsten Konzepte schneller erlernen.
Aufgaben
- Cloud SQL for PostgreSQL-Instanz mit der Google Cloud Console vorbereiten
- Daten in die Cloud SQL-Instanz importieren
- Datastream-Verbindungsprofil für die PostgreSQL-Datenbank erstellen
- Datastream-Verbindungsprofil für das BigQuery-Ziel erstellen
- Datastream-Stream erstellen und Replikation starten
- Prüfen, ob die vorhandenen Daten und Änderungen korrekt in BigQuery repliziert werden
Voraussetzungen
- Vertrautheit mit Standard-Linux-Umgebungen
- Kenntnisse der Konzepte von Change Data Capture (CDC)
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der linken Seite befindet sich der Bereich „Details zum Lab“ mit diesen Informationen:
- Schaltfläche „Google Cloud Console öffnen“
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich „Details zum Lab“.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Cloud Shell aktivieren
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
-
Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren
.
-
Klicken Sie sich durch die folgenden Fenster:
- Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
- Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.
Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:
Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
- Klicken Sie auf Autorisieren.
Ausgabe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Um das aktive Konto festzulegen, führen Sie diesen Befehl aus:
$ gcloud config set account `ACCOUNT`
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Hinweis: Die vollständige Dokumentation für gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Aufgabe 1: Datenbank für die Replikation erstellen
In diesem Abschnitt bereiten Sie eine Cloud SQL for PostgreSQL-Datenbank für die Datastream-Replikation vor.
Cloud SQL-Datenbank erstellen
- Führen Sie den folgenden Befehl aus, um die Cloud SQL API zu aktivieren:
gcloud services enable sqladmin.googleapis.com
- Führen Sie den folgenden Befehl aus, um eine Cloud SQL for PostgreSQL-Datenbankinstanz zu erstellen:
POSTGRES_INSTANCE=postgres-db
DATASTREAM_IPS={{{project_0.startup_script.ip_Address | IP_ADDRESS}}}
gcloud sql instances create ${POSTGRES_INSTANCE} \
--database-version=POSTGRES_14 \
--cpu=2 --memory=10GB \
--authorized-networks=${DATASTREAM_IPS} \
--region={{{project_0.default_region|REGION}}} \
--root-password pwd \
--database-flags=cloudsql.logical_decoding=on
Hinweis: Mit diesem Befehl wird die Datenbank in erstellt. Für andere Regionen müssen Sie DATASTREAM_IPS
durch die richtigen öffentlichen IP-Adressen von Datastream für Ihre Region ersetzen.
Hinweis: Notieren Sie sich nach dem Erstellen der Datenbankinstanz die öffentliche IP-Adresse der Instanz. Sie benötigen diese später, wenn Sie das Verbindungsprofil von Datastream erstellen.
Klicken Sie auf Fortschritt prüfen.
Datenbank für die Replikation erstellen
Beispieldaten in die Datenbank laden
Stellen Sie eine Verbindung zur PostgreSQL-Datenbank her, indem Sie den folgenden Befehl in Cloud Shell ausführen:
gcloud sql connect postgres-db --user=postgres
Wenn Sie zur Eingabe eines Passworts aufgefordert werden, geben Sie pwd
ein.
Führen Sie nach der Verbindung zur Datenbank den folgenden SQL-Befehl aus, um ein Beispielschema und eine Tabelle zu erstellen:
CREATE SCHEMA IF NOT EXISTS test;
CREATE TABLE IF NOT EXISTS test.example_table (
id SERIAL PRIMARY KEY,
text_col VARCHAR(50),
int_col INT,
date_col TIMESTAMP
);
ALTER TABLE test.example_table REPLICA IDENTITY DEFAULT;
INSERT INTO test.example_table (text_col, int_col, date_col) VALUES
('hello', 0, '2020-01-01 00:00:00'),
('goodbye', 1, NULL),
('name', -987, NOW()),
('other', 2786, '2021-01-01 00:00:00');
Datenbank für die Replikation konfigurieren
- Führen Sie den folgenden SQL-Befehl aus, um eine Veröffentlichung und einen Replikationsslot zu erstellen:
CREATE PUBLICATION test_publication FOR ALL TABLES;
ALTER USER POSTGRES WITH REPLICATION;
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('test_replication', 'pgoutput');
Aufgabe 2: Datastream-Ressourcen erstellen und Replikation starten
Nachdem die Datenbank bereit ist, erstellen Sie die Datastream-Verbindungsprofile und den Stream, um die Replikation zu starten.
-
Klicken Sie im Navigationsmenü auf Alle Produkte ansehen und wählen Sie unter Analytics die Option Datastream aus.
-
Klicken Sie auf Aktivieren, um die Datastream API zu aktivieren.
Verbindungsprofile erstellen
Erstellen Sie zwei Verbindungsprofile, eines für die PostgreSQL-Quelle und eines für das BigQuery-Ziel.
PostgreSQL-Verbindungsprofil
- Rufen Sie in der Cloud Console den Tab Verbindungsprofile auf und klicken Sie auf Profil erstellen.
- Wählen Sie den Verbindungsprofiltyp PostgreSQL aus.
-
Verwenden Sie postgres-cp
als Namen und ID des Verbindungsprofils.
-
Geben Sie die Details der Datenbankverbindung ein:
- Region:
- IP-Adresse und Port der zuvor erstellten Cloud SQL-Instanz (Aufgabe 1)
- So finden Sie die IP-Adresse Ihrer Cloud SQL-Instanz:
- Klicken Sie im Navigationsmenü auf „SQL“.
- Suchen Sie auf der SQL-Seite nach Ihrer PostgreSQL-Instanz (in der Regel „postgres-db“ genannt).
- Kopieren Sie die öffentliche IP-Adresse der Instanz.
- Nutzername:
postgres
- Passwort:
pwd
- Datenbank:
postgres
-
Klicken Sie auf Weiter.
-
Wählen Sie die Verbindungsmethode IP-Zulassungsliste aus und klicken Sie auf Weiter.
-
Klicken Sie auf TESTEN, um zu prüfen, ob Datastream die Datenbank erreichen kann.
-
Klicken Sie auf Erstellen.
BigQuery-Verbindungsprofil
- Rufen Sie in der Cloud Console den Tab Verbindungsprofile auf und klicken Sie auf Profil erstellen.
- Wählen Sie den Verbindungsprofiltyp BigQuery aus.
-
Verwenden Sie bigquery-cp
als Namen und ID des Verbindungsprofils.
-
Region:
-
Klicken Sie auf Erstellen.
Stream erstellen
Erstellen Sie den Stream, der die oben erstellten Verbindungsprofile verknüpft und die Konfiguration für die Daten definiert, die von der Quelle zum Ziel gestreamt werden sollen.
- Rufen Sie in der Cloud Console den Tab Streams auf und klicken Sie auf Stream erstellen.
Streamdetails definieren
- Verwenden Sie
test-stream
als Namen und ID des Streams.
- Region:
- Wählen Sie PostgreSQL als Quelltyp aus.
- Wählen Sie BigQuery als Zieltyp aus.
- Klicken Sie auf WEITER.
Quelle definieren
- Wählen Sie das im vorherigen Schritt erstellte Verbindungsprofil postgres-cp aus.
- [Optional] Testen Sie die Verbindung, indem Sie auf TESTEN klicken.
- Klicken Sie auf WEITER.
Quelle konfigurieren
- Geben Sie
test_replication
als Namen des Replikationsslots an.
- Geben Sie
test_publication
als Namen der Publikation an.
- Wählen Sie das Schema test für die Replikation aus.
- Klicken Sie auf Weiter.
Ziel definieren
- Wählen Sie das im vorherigen Schritt erstellte Verbindungsprofil bigquery-cp aus und klicken Sie auf Weiter.
Ziel konfigurieren
- Wählen Sie die Region als Standort des BigQuery-Datasets aus.
- Setzen Sie das Limit für veraltete Daten auf 0 Sekunden.
- Klicken Sie auf Weiter.
Stream überprüfen und erstellen
- Zum Schluss validieren Sie die Streamdetails, indem Sie auf Validierung ausführen klicken. Wenn die Validierung erfolgreich abgeschlossen wurde, klicken Sie auf Erstellen und starten und bestätigen Sie dann erneut mit Erstellen und starten.
Warten Sie etwa 1–2 Minuten, bis der Streamstatus „Wird ausgeführt“ lautet.
Klicken Sie auf Fortschritt prüfen.
Datastream-Ressourcen erstellen
Aufgabe 3: Daten in BigQuery ansehen
Der Stream wird nun ausgeführt und Sie können sehen, wie die Daten in das BigQuery-Dataset repliziert werden.
- Klicken Sie in der Google Cloud Console im Navigationsmenü auf BigQuery.
Klicken Sie im Pop-up-Fenster auf Fertig.
- Maximieren Sie im Explorer von BigQuery Studio den Projektknoten, um die Liste der Datasets aufzurufen.
- Maximieren Sie den Dataset-Knoten test.
- Klicken Sie auf die Tabelle example_table.
- Klicken Sie auf den Tab VORSCHAU, um die Daten in BigQuery aufzurufen.
Hinweis: Es kann einige Minuten dauern, bis die Daten im Abschnitt Vorschau angezeigt werden.
- Wenn auf dem Tab „Vorschau“ die Meldung „Es sind keine Daten vorhanden“ angezeigt wird, können Sie die Daten mit dem folgenden Befehl überprüfen:
SELECT * FROM test.example_table ORDER BY id;
Aufgabe 4: Prüfen, ob Änderungen in der Quelle in BigQuery repliziert werden
- Führen Sie in Cloud Shell den folgenden Befehl aus, um eine Verbindung zur Cloud SQL-Datenbank herzustellen (das Passwort lautet
pwd
):
gcloud sql connect postgres-db --user=postgres
- Führen Sie die folgenden SQL-Befehle aus, um einige Änderungen an den Daten vorzunehmen:
INSERT INTO test.example_table (text_col, int_col, date_col) VALUES
('abc', 0, '2022-10-01 00:00:00'),
('def', 1, NULL),
('ghi', -987, NOW());
UPDATE test.example_table SET int_col=int_col*2;
DELETE FROM test.example_table WHERE text_col = 'abc';
- Öffnen Sie den BigQuery SQL-Arbeitsbereich und führen Sie die folgende Abfrage aus, um die Änderungen in BigQuery zu sehen:
SELECT * FROM test.example_table ORDER BY id;
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Datastream ist ein wichtiges Tool für die Datenintegration und ‑analyse. Sie wissen nun, wie man Daten mit Datastream von PostgreSQL nach BigQuery repliziert.
Anleitung zuletzt am 24. Februar 2025 aktualisiert
Lab zuletzt am 24. Februar 2025 getestet
© 2025 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.