Daten aus PostgreSQL in Google BigQuery replizieren

Erfahren Sie, wie Sie mit OCI GoldenGate Daten von PostgreSQL in Google BigQuery replizieren.

Bevor Sie beginnen

Um diesen Schnellstart erfolgreich abzuschließen, benötigen Sie Folgendes:

Um diesen Schnellstart erfolgreich abzuschließen, benötigen Sie Folgendes:

Umgebung eingerichtet: PostgreSQL

So richten Sie die Umgebung für diesen Schnellstart ein:

  1. Führen Sie die folgenden Befehle zur Installation von PostgreSQL aus.

    1. PostgreSQL-Server installieren:

      sudo yum install postgresql-server
    2. Installieren Sie das postgresql-contrib-Modul, um diese SQL-Ausnahme zu vermeiden:

      sudo yum install postgresql-contrib
    3. Erstellen Sie ein neues PostgreSQL-Datenbankcluster:

      sudo postgresql-setup --initdb
    4. Aktivieren Sie postgresql.service:

      sudo systemctl enable postgresql.service
    5. Starten Sie postgresql.service:

      sudo systemctl start postgresql.service
  2. Standardmäßig sind in PostgreSQL nur lokale Verbindungen zulässig. Remotekonnektivität zu PostgreSQL zulassen.

    1. Bereiten Sie unter /var/lib/pgsql/data/postgresql.conf die Datenbank für die Replikation vor.

    2. Suchen und entfernen Sie die Kommentarzeichen listen_addresses = 'localhost', und ändern Sie localhost in ein Sternchen (`):

      listen_addresses = '*'
    3. Legen Sie die folgenden Parameter wie folgt fest:

      • wal_level = logical

      • max_replication_slots = 1

      • max_wal_senders = 1

      • track_commit_timestamp = on

      Hinweis:

      Konfigurieren Sie /var/lib/pgsql/data/pg_hba.conf, um sicherzustellen, dass die Clientauthentifizierung so festgelegt ist, dass Verbindungen von einem Oracle GoldenGate-Host zulässig sind. Beispiel: Fügen Sie Folgendes hinzu:

      #Allow connections from remote hosts
      
      host all all 0.0.0.0/0 md5

      Weitere Informationen finden Sie unter Die Datei pg_hba.conf.

      1. PostgreSQL-Server neu starten:
      sudo systemctl restart postgresql.service
      1. Wenn Sie Oracle Cloud Compute zum Hosten von PostgreSQL verwenden, öffnen Sie Port 5432:
      sudo firewall-cmd --permanent --add-port=5432/tcp
      sudo firewall-cmd --reload
      sudo firewall-cmd --list-all
    4. Öffnen Sie Port 5432 in der Sicherheitsliste Ihres VCN.

    5. Verbindung zu PostgreSQL herstellen.

      > sudo su - postgres
      > psql

      Hinweis: Alternativ können Sie sudo su - postgres psql eingeben, wenn das obige Beispiel nicht funktioniert.

    6. PostgreSQL einrichten.

      1. Laden Sie seedSRCOCIGGLL_PostgreSQL.sql herunter, und führen Sie es aus, um die Datenbank einzurichten und die Beispieldaten zu laden.

      2. Führen Sie die folgenden Befehle aus, um den Benutzer einzurichten (stellen Sie sicher, dass Sie <password> durch ein tatsächliches Kennwort ersetzen):

      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

Aufgabe 1: OCI GoldenGate-Ressourcen erstellen

  1. Erstellen Sie ein Deployment für die PostgreSQL-Quelldatenbank.

  2. Erstellen Sie ein Big Data Deployment für das Google BigQuery-Ziel.

  3. Erstellen Sie eine Verbindung zum Google BigQuery-Ziel.

  4. Erstellen Sie eine Verbindung zur PostgreSQL-Quelldatenbank.

    1. Stellen Sie unter Typ sicher, dass Sie "PostgreSQL-Server" auswählen.

    2. Geben Sie unter Datenbankname ociggll ein.

    3. Geben Sie unter Host die öffentliche IP der Compute-Instanz ein, auf der PostgreSQL ausgeführt wird.

    4. Geben Sie unter Port die Nummer 5432 ein.

    5. Geben Sie unter Username ggadmin ein.

    6. Geben Sie unter Kennwort ein Kennwort ein.

    7. Wählen Sie unter Sicherheitsprotokoll die Option Nur aus.

  5. Erstellen Sie eine Verbindung zu GoldenGate. Weisen Sie diese Verbindung dem PostgreSQL-Quell-Deployment zu.

  6. Weisen sie die Quellverbindung dem PostgreSQL-Quell-Deployment zu.

  7. Weisen Sie die Zielverbindung dem Big Data-Ziel-Deployment zu.

Aufgabe 2: Zusätzliches Logging aktivieren

So aktivieren Sie zusätzliches Logging:

  1. Starten Sie die PostgreSQL GoldenGate-Deployment-Konsole:

    1. Wählen Sie auf der Seite "Deployments" das PostgreSQL-Deployment aus, um die zugehörigen Details anzuzeigen.

    2. Wählen Sie auf der Detailseite des PostgreSQL-Deployments die Option Konsole starten aus.

    3. Geben Sie auf der Anmeldeseite der Deployment-Konsole die GoldenGate-Admin-Zugangsdaten ein, die in Aufgabe 1, Schritt 1 angegeben sind.

      Hinweis: Eine Anmeldung ist erforderlich, wenn IAM beim Erstellen eines Deployments nicht als Zugangsdatenspeicher ausgewählt wurde.

  2. Wählen Sie in der Deployment-Konsole in der linken Navigationsleiste die Option DB-Verbindungen, dann die PostgreSQL-Quelldatenbank und dann Trandata aus.

  3. Wählen Sie auf der Seite "TRANDATA" neben "TRANDATA-Informationen" die Option TRANDATA hinzufügen (Plussymbol).

  4. Geben Sie im Bereich "Trandata" unter Schemaname src_ociggll ein, und wählen Sie Weiterleiten aus.

    Hinweis: Mit dem Suchfeld können Sie nach src_ociggll suchen und prüfen, ob die Tabellen hinzugefügt wurden.

Aufgabe 3: Extract erstellen

So fügen Sie den Change Data Capture Extract hinzu:

  1. Wählen Sie in der linken Navigationsleiste die Option Extracts aus.

  2. Wählen Sie auf der Seite "Extracts" die Option Extract hinzufügen (Plussymbol), und füllen Sie die Felder wie folgt aus:

    • Auf der Seite "Daten extrahieren":

      1. Wählen Sie unter Extract-Typ die Option Change Data Capture Extract aus.

      2. Geben Sie unter Prozessname einen Namen wie ECDC für den Extract an.

      3. Wählen Sie Weiter.

    • Gehen Sie auf der Seite "Exportoptionen" wie folgt vor:

      1. Wählen Sie für Quellzugangsdaten in der Dropdown-Liste Domain die Option Oracle GoldenGate aus

      2. Wählen Sie in der Dropdown-Liste Alias die PostgreSQL-Quelldatenbank aus.

      3. Geben Sie unter "Trailname extrahieren" einen aus zwei Zeichen stehenden Trailnamen wie C1 ein.

      4. Wählen Sie Weiter.

    • Ersetzen Sie auf der Seite "Parameter extrahieren" MAP *.*, TARGET *.*; durch Folgendes:

      TABLE SRC_OCIGGLL.*;
  3. Wählen Sie Erstellen und ausführen aus.

Sie kehren zur Seite "Exporte" zurück, auf der Sie den Beginn der Exporte beobachten können.

Aufgabe 4: Verteilungspfad für Change Data Capture erstellen

Gehen Sie folgendermaßen vor, um einen Verteilungspfad für Change Data Capture zu erstellen:

  1. Wählen Sie in der Oracle Cloud-Konsole auf der Seite "Deployments" das Ziel-Big Data-Deployment aus.

  2. Wählen Sie Verteilungspfad hinzufügen aus.

  3. Füllen Sie das Formular "Pfad hinzufügen" wie folgt aus:

    1. Gehen Sie auf der Seite "Pfadinformationen" wie folgt vor:

      1. Geben Sie unter Pfadname einen Namen ein.

      2. Wählen Sie Weiter.

    2. Gehen Sie auf der Seite {\b Source Options} wie folgt vor:

      1. Wählen Sie unter Quellextrakt den Change Data Capture Extract (ECDC) aus.

      2. Wählen Sie unter Trailname die Traildatei für den Change Data Capture-Extrakt (C1).

      3. Wählen Sie Weiter.

    3. Gehen Sie auf der Seite "Zieloptionen" wie folgt vor:

      1. Wählen Sie unter Ziel die Option wss aus.

      2. Geben Sie unter Zielhost die Ziel-Deployment-Konsolen-URL ein (Sie finden diese auf der Seite mit den Deployment-Details ohne https:// oder abschließende Schrägstriche).

      3. Geben Sie unter Portnummer 443 ein.

      4. Geben Sie unter Trailname C1 ein.

      5. Wählen Sie unter Zielauthentifizierungsmethode die Option UserID-Alias.

      6. Geben Sie unter Domain den Domainnamen ein.

      7. Geben Sie unter Alias den Alias ein.

    4. Wählen Sie Pfad erstellen und ausführen aus.

Aufgabe 5: Replicat hinzufügen

  1. Wählen Sie im Navigationsmenü der Big Data-Deployment-Konsole für das Ziel die Option Replikate, Replikat hinzufügen (Plussymbol) aus.

  2. Wählen Sie auf der Seite Replikate die Option Replicat hinzufügen (Plussymbol), und füllen Sie das Formular Replicat hinzufügen wie folgt aus:

    1. Auf der Seite "Replicat-Informationen":

      1. Wählen Sie unter Replikattyp die Option Parallel oder Koordiniertes Replicat aus.

      2. Geben Sie unter Prozessname einen Namen wie RCDC ein.

      3. Wählen Sie Weiter.

    2. Gehen Sie auf der Seite {\b Replicat Options} wie folgt vor:

      1. Geben Sie unter Replikat-Trailname den Namen des Trails aus Aufgabe 3 (C1) ein.

      2. Wählen Sie unter Zielzugangsdaten die Domain und Alias für die Google Big Query-Verbindung aus.

      3. Wählen Sie unter Verfügbare Staging Areas in der Dropdown-Liste die Option "Google Cloud Storage" aus.

      4. Wählen Sie unter über Staging-Alias in der Dropdown-Liste die Google Cloud Storage-Verbindung aus.

    3. Fügen Sie auf der Seite "Parameterdatei" die folgende Zuordnung hinzu, und wählen Sie Weiter aus:

      MAP *.*, TARGET *.*;
    4. Konfigurieren Sie auf der Seite "Properties File" die erforderlichen Eigenschaften nach Bedarf. Suchen Sie nach denjenigen, die als #TODO markiert sind, und wählen Sie Weiter aus.

      Beispiele für eventuell zu ändernde Eigenschaften:

      • gg.eventhandler.gcs.bucketMappingTemplate: Geben Sie den Namen des Buckets an, der als Staging-Speicher verwendet wird
  3. Wählen Sie Erstellen und ausführen aus.

Sie kehren zur Seite "Replicats" zurück, auf der Sie die Replicat-Details prüfen können.

Aufgabe 6: Change Data Capture prüfen

Führen Sie Updates an der PostgreSQL-Quelldatenbank aus, um die Replikation auf Google BigQuery zu prüfen.

  1. Führen Sie das folgende Skript aus, um Einfügungen in die PostgreSQL-Datenbank auszuführen:

    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
  2. Wählen Sie in der Quell-PostgreSQL-Deployment-Konsole den Extract-Namen (ECDC) und dann Statistics aus. Stellen Sie sicher, dass src_ociggll.src_city 10 Insert-Vorgänge enthält.

    Hinweis: Wenn der Extract keine Einfügevorgänge erfasst hat, starten Sie den Extract ECDC neu.

  3. Wählen Sie in der Big Data-Ziel-Deployment-Konsole den Replicat-Namen aus, zeigen Sie die zugehörigen Details an, und prüfen Sie Statistiken, um die Anzahl der Einfügungen zu prüfen.