Replica 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 avvio rapido, è necessario disporre dei seguenti elementi:

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

Impostazione dell'ambiente: PostgreSQL

Per impostare l'ambiente per questo Quickstart:

  1. Eseguire i comandi seguenti per installare PostgreSQL.

    1. Installa 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. Abilita 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 rimuovere il punto listen_addresses = 'localhost' e modificare localhost in un asterisco (`):

      listen_addresses = '*'
    3. Impostare i parametri seguenti come indicato 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 in modo da consentire le connessioni da un host Oracle GoldenGate. Ad esempio, aggiungere quanto segue:

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

      Per ulteriori informazioni, vedere File pg_hba.conf.

      1. Riavviare il server PostgreSQL:
      sudo systemctl restart postgresql.service
      1. 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 comandi indicati di seguito per configurare 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 Google BigQuery di destinazione.

  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 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. Per Password, immettere una password.

    7. In Protocollo di sicurezza 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 log supplementare

Per abilitare il log supplementare, procedere come segue.

  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 selezionare Avvia console.

    3. Nella pagina di connessione della console di distribuzione, immettere le credenziali di amministratore GoldenGate fornite nel task 1, passo 1.

      Nota: l'accesso è obbligatorio se IAM non è stato selezionato come area di memorizzazione delle credenziali durante la creazione di una distribuzione.

  2. Nella console di distribuzione, selezionare Connessioni DB nella navigazione a sinistra, quindi nel database PostgreSQL di origine, quindi in Trandata.

  3. Nella pagina TRANDATA, accanto a Informazioni TRANDATA, selezionare Aggiungi TRANDATA (icona più).

  4. Nel pannello Trandata, per Nome schema, immettere src_ociggll, quindi selezionare Sottometti.

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

Task 3: Creazione dell'estrazione

Per aggiungere l'estrazione di Change Data Capture, procedere come segue.

  1. Nella navigazione a sinistra selezionare Extracts.

  2. Nella pagina Estrazioni, selezionare Aggiungi estrazione (icona più), quindi completare i campi come indicato di seguito.

    • Nella pagina Informazioni estrazione:

      1. Per Tipo estrazione, selezionare Modifica estrazione acquisizione dati.

      2. In Nome processo immettere un nome per l'estrazione, ad esempio ECDC.

      3. Selezionare Next.

    • 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. Per Nome trail estrazione, immettere un nome trail di due caratteri, ad esempio C1.

      4. Selezionare Next.

    • Nella pagina Parametri estrazione, sostituire MAP *.*, TARGET *.*; con quanto segue:

      TABLE SRC_OCIGGLL.*;
  3. Selezionare Crea ed esegui.

Si torna alla pagina Estrazioni, in cui è possibile osservare l'inizio delle estrazioni.

Task 4: Creare il percorso di distribuzione per l'acquisizione dei dati di modifica

Per creare un percorso di distribuzione per Change Data Capture, effettuare le operazioni riportate di seguito.

  1. Nella console di Oracle Cloud, nella pagina Distribuzioni, selezionare la distribuzione Big Data di destinazione.

  2. Selezionare Aggiungi percorso di distribuzione.

  3. Completare il modulo Aggiungi percorso come indicato di seguito.

    1. Nella pagina Informazioni percorso:

      1. In Nome percorso, immettere un nome.

      2. Selezionare Next.

    2. Nella pagina Opzioni origine, effettuare le operazioni riportate di seguito.

      1. Per Estrazione origine, selezionare Estrazione acquisizione dati modifica (ECDC).

      2. In Nome percorso, selezionare il file trail di Change Data Capture (C1).

      3. Selezionare Next.

    3. Nella pagina Opzioni destinazione, effettuare le operazioni riportate di seguito.

      1. Per Destinazione, selezionare wss.

      2. Per Host di destinazione, immettere l'URL della console di distribuzione di destinazione, disponibile nella pagina dei dettagli della distribuzione, senza le barre https:// o le barre finali.

      3. In Numero porta, immettere 443.

      4. Per Nome percorso, immettere C1.

      5. Per Metodo di autenticazione destinazione, selezionare Alias ID utente.

      6. Per Dominio, immettere il nome del dominio.

      7. Per Alias, immettere l'alias.

    4. Selezionare Crea percorso ed esegui.

Task 5: Aggiungi Replicat

  1. Nel menu di navigazione della console di distribuzione Big Data destinazione, selezionare Replicat, quindi selezionare Aggiungi Replicat (icona più).

  2. Nella pagina Replicat selezionare Aggiungi Replicat (icona più) e quindi completare il form Aggiungi Replicat come indicato di seguito.

    1. Nella pagina Informazioni Replicat:

      1. Per Tipo Replicat, selezionare Parallelo o Replicat coordinato.

      2. In Nome processo, immettere un nome, ad esempio RCDC.

      3. Selezionare Next.

    2. Nella pagina Opzioni Replicat:

      1. In Nome trail replica, immettere il nome del trail dal task 3 (C1).

      2. Per Credenziali di destinazione, selezionare Dominio e Alias per la connessione a Google Big Query.

      3. Per Posizioni area intermedia disponibili, selezionare Google Cloud Storage dall'elenco a discesa.

      4. Per tramite alias temporaneo, selezionare la connessione a Google Cloud Storage dall'elenco a discesa.

    3. Nella pagina File dei parametri aggiungere il mapping riportato di seguito, quindi selezionare Successivo.

      MAP *.*, TARGET *.*;
    4. Nella pagina Proprietà file configurare le proprietà necessarie. Cercare quelli contrassegnati come #TODO, quindi selezionare Successivo.

      Di seguito sono riportate alcune delle proprietà da considerare per la modifica.

      • gg.eventhandler.gcs.bucketMappingTemplate: fornire il nome del bucket che verrà utilizzato come storage temporaneo
  3. Selezionare Crea ed esegui.

Si torna alla pagina Replicat, in cui è possibile rivedere i dettagli di Replicat.

Task 6: Verifica acquisizione dati modifica

Eseguire gli aggiornamenti al database PostgreSQL di origine per verificare la replica a 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 (ECDC), quindi selezionare Statistiche. Verificare che in src_ociggll.src_city siano presenti 10 inserimenti.

    Nota: se Extract non ha acquisito alcun inserimento, riavviare l'estrazione ECDC.

  3. Nella console di distribuzione Big Data di destinazione, selezionare il nome Replicat, visualizzarne i dettagli e selezionare Statistiche per verificare il numero di inserimenti.