Replica dei dati da PostgreSQL a Google BigQuery

Scopri come utilizzare OCI GoldenGate per replicare i dati da PostgreSQL a Google BigQuery.

Prima di iniziare

Per completare correttamente questo QuickTart, è necessario disporre dei seguenti elementi:

Ambiente impostato: PostgreSQL

Per impostare l'ambiente per questo Quickstart:
  1. Eseguire i comandi seguenti per installare PostgreSQL.
    1. Installare il server PostgreSQL:
      sudo yum install postgresql-server
    2. Installare il modulo postgresql-contrib per evitare questa eccezione SQL:
      sudo yum install postgresql-contrib
    3. Creare un nuovo cluster di database PostgreSQL:
      sudo postgresql-setup --initdb
    4. Abilitare postgresql.service:
      sudo systemctl enable postgresql.service
    5. Avviare postgresql.service:
      sudo systemctl start postgresql.service
  2. Per impostazione predefinita, PostgreSQL consente solo connessioni locali. Consenti connettività remota a PostgreSQL.
    1. In /var/lib/pgsql/data/postgresql.conf, preparare il database per la replica.
    2. Individuare e decommentare listen_addresses = 'localhost' e modificare localhost in un asterisco (*):
      listen_addresses = '*'
    3. Impostare i parametri indicati di seguito:
      • wal_level = logical
      • max_replication_slots = 1
      • max_wal_senders = 1
      • track_commit_timestamp = on

      Nota

      Configurare /var/lib/pgsql/data/pg_hba.conf per assicurarsi che l'autenticazione client sia impostata per consentire le connessioni da un host Oracle GoldenGate. Ad esempio:
      #Allow connections from remote hosts
      host    all    all    0.0.0.0/0    md5
      Per ulteriori informazioni, vedere Il file pg_hba.conf.
    4. Riavviare il server PostgreSQL:
      sudo systemctl restart postgresql.service
  3. Se si utilizza Oracle Cloud Compute per ospitare PostgreSQL, aprire la porta 5432:
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all
  4. Aprire la porta 5432 nella lista di sicurezza della VCN.
  5. Connetti a PostgreSQL.
    > sudo su - postgres
    > psql

    Nota

    In alternativa, è possibile immettere sudo su - postgres psql se l'esempio precedente non funziona.
  6. Impostare PostgreSQL.
    1. Scaricare ed eseguire seedSRCOCIGGLL_PostgreSQL.sql per impostare il database e caricare i dati di esempio.
    2. Eseguire i seguenti comandi per impostare l'utente (assicurarsi di sostituire <password> con una password effettiva):
      create user ggadmin with password '<password>';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

Task 1: creare le risorse OCI GoldenGate

  1. Creare una distribuzione per il database PostgreSQL di origine.
  2. Creare una distribuzione Big Data per la destinazione Google BigQuery.
  3. Creare una connessione alla destinazione Google BigQuery.
  4. Creare una connessione al database PostgreSQL di origine.
    1. Per Tipo, assicurarsi di selezionare il server PostgreSQL.
    2. Per Nome database, immettere ociggll.
    3. Per l'host, immettere l'IP pubblico dell'istanza di computazione su cui viene eseguito PostgreSQL.
    4. Per Porta immettere 5432.
    5. Per Nome utente immettere ggadmin.
    6. In Password immettere una password.
    7. Per Security Protocol, selezionare Plain.
  5. Creare una connessione a GoldenGate, quindi assegnare questa connessione alla distribuzione PostgreSQL di origine.
  6. Assegnare la connessione di origine alla distribuzione PostgreSQL di origine.
  7. Assegnare la connessione di destinazione alla distribuzione Big Data di destinazione.

Task 2: Abilita il log supplementare

Per abilitare il log supplementare:
  1. Avviare la console di distribuzione PostgreSQL GoldenGate:
    1. Nella pagina Distribuzioni, selezionare la distribuzione PostgreSQL per visualizzarne i dettagli.
    2. Nella pagina dei dettagli della distribuzione PostgreSQL fare clic su Avvia console.
    3. Nella pagina di collegamento della console di distribuzione, immettere le credenziali di amministrazione GoldenGate fornite nel task 1, passo 1.
  2. In GoldenGate 23ai, fare clic su Connessioni al database nella navigazione a sinistra, quindi sul database PostgreSQL di origine e infine su Trandata.
  3. Nella pagina TRANDATA, accanto alle informazioni TRANDATA, fare clic su Aggiungi TRANDATA (icona più).
  4. Nel pannello Trandata, in Nome schema, immettere src_ociggll.*, quindi fare clic su Sottometti.

    Nota

    Utilizzare il campo di ricerca per cercare src_ociggll e verificare che le tabelle siano state aggiunte.

Task 3: creare il file Extract

Per aggiungere Change Data Capture Extract:
  1. Nella navigazione a sinistra, fare clic su Estrazioni.
  2. Nella pagina Estrazioni, fare clic su Aggiungi Estrazione (icona più), quindi completare i campi come indicato di seguito.
    • Nella pagina Informazioni estrazione:
      1. Per Tipo di estrazione, selezionare Change Data Capture Extract.
      2. In Nome processo, immettere un nome per Estrai, ad esempio ECDC.
      3. Fare clic su Successivo.
    • Nella pagina Opzioni estrazione:
      1. Per le credenziali di origine, selezionare Oracle GoldenGate dall'elenco a discesa Dominio
      2. Selezionare il database PostgreSQL di origine dall'elenco a discesa Alias.
      3. In Estrai nome trail, immettere un nome di trail di due caratteri, ad esempio C1.
      4. Fare clic su Successivo.
    • Nella pagina Parametri di estrazione sostituire MAP *.*, TARGET *.*; con gli elementi riportati di seguito.
      TABLE SRC_OCIGGLL.*;
  3. Fare clic su Crea ed esegui.

    Viene visualizzata nuovamente la pagina Extracts, in cui è possibile osservare l'avvio di Extracts.

Task 4: creare il file Distribution Path per Change Data Capture

Per creare un file Distribution Path per Change Data Capture, effettuare le operazioni riportate di seguito.

  1. Nella console di Oracle Cloud, nella pagina Distribuzioni, selezionare la distribuzione dei Big Data destinazione.
  2. Nella pagina dei dettagli della distribuzione, fare clic su Avvia console. Eseguire il login con i dettagli utente amministratore creati nel task 1, passo 2.
  3. Se si utilizza l'area di memorizzazione delle credenziali IAM, passare al passo Crea Distribution Path. Se si utilizza l'area di memorizzazione delle credenziali GoldenGate, creare un utente con cui utilizzare l'origine GoldenGate per connettersi alla destinazione GoldenGate.
    1. Nel menu di navigazione fare clic su Amministrazione utenti.
    2. Fare clic su Aggiungi nuovo utente (icona più), completare i campi come indicato di seguito, quindi fare clic su Sottometti:
      • In Nome utente immettere ggsnet.
      • In Ruolo, selezionare Operatore.
      • Immettere due volte la password per verifica.
  4. Nella console di distribuzione PostgreSQL di origine creare una connessione di percorso per l'utente creata nel passo precedente.
    1. Nel menu di navigazione fare clic su Connessioni percorso.
    2. Fare clic su Aggiungi connessione percorso (icona più), completare i campi come indicato di seguito, quindi fare clic su Sottometti:
      • Per Alias credenziale, immettere dpuser.
      • Per l'ID utente, immettere ggsnet
      • Per Password, immettere la stessa password utilizzata nel passo precedente.
  5. Fare clic su Aggiungi Distribution Path.
  6. Completare il form Aggiungi percorso come riportato di seguito.
    1. Nella pagina Informazioni percorso:
      1. Per Nome percorso, immettere un nome.
      2. Fare clic su Successivo.
    2. Nella pagina Opzioni di origine:
      1. Per Origine Extract, selezionare Change Data Capture Extract (ECDC)).
      2. In Nome percorso, selezionare il file trail Change Data Capture (C1).
      3. Fare clic su Successivo.
    3. Nella pagina Opzioni target:
      1. Per Target, selezionare wss.
      2. Per Host di destinazione, immettere l'URL della console di distribuzione di destinazione (è possibile trovarlo nella pagina dei dettagli della distribuzione, senza l'https:// o le barre finali.
      3. In Numero porta, immettere 443.
      4. Per Nome percorso, immettere C1.
      5. Per Metodo di autenticazione target, selezionare Alias UserID.
      6. Per Dominio, immettere il nome del dominio.
      7. Per Alias, immettere l'alias.
    4. Fare clic su Crea percorso ed esegui.
  7. Nella console di distribuzione dei Big Data destinazione, fare clic su Receiver Service, quindi esaminare il file Receiver Path creato.

Task 5: aggiungere un Replicat

  1. Nel menu di navigazione della console di distribuzione Big Data destinazione, fare clic su Replicats, quindi su Aggiungi Replicat (icona più).
  2. Nella pagina Replicats, fare clic su Aggiungi Replicat (icona più), quindi completare il form Aggiungi Replicat come indicato di seguito.
    1. Nella pagina Informazioni Replicat:
      1. Per tipo Replicat, selezionare Parallel o Coordinated Replicat.
      2. Per Nome processo, immettere un nome, ad esempio RCDC.
      3. Fare clic su Successivo.
    2. Nella pagina Opzioni Replicat:
      1. In Replicat Nome trail, immettere il nome del trail dal task 3 (C1).
      2. Per Credenziali di destinazione, selezionare Dominio e Alias per la connessione Big Query Google.
      3. Per Posizioni area intermedia disponibili, selezionare Google Cloud Storage dall'elenco a discesa.
      4. Per tramite alias di staging, selezionare la connessione a Google Cloud Storage dall'elenco a discesa.
    3. Nella pagina File parametri aggiungere il mapping seguente, quindi fare clic su Successivo:
      MAP *.*, TARGET *.*;
    4. Nella pagina File delle proprietà, configurare le proprietà richieste in base alle esigenze. Cercare quelli contrassegnati come #TODO, quindi fare clic su Avanti.
      Di seguito sono riportate alcune proprietà da considerare per la modifica.
      • gg.eventhandler.gcs.bucketMappingTemplate: fornire il nome del bucket che verrà utilizzato come storage di staging
  3. Fare clic su Crea ed esegui.

    Si torna alla pagina Replicats, dove è possibile rivedere i dettagli di Replicat.

Task 6: verificare Change Data Capture

Eseguire aggiornamenti al database PostgreSQL di origine per verificare la replica su Google BigQuery.
  1. Eseguire lo script seguente per eseguire gli inserimenti nel database PostgreSQL:
    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. Nella console di distribuzione PostgreSQL di origine, selezionare il nome Extract (EDCD), quindi fare clic su Statistiche. Verificare che in src_ociggll.src_city siano presenti 10 inserimenti.

    Nota

    Se Extract non ha acquisito alcun inserimento, riavviare EDCD Extract.
  3. Nella console di distribuzione dei Big Data di destinazione, selezionare il nome Replicat, visualizzare i relativi dettagli e selezionare Statistiche per verificare il numero di inserimenti.