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:
-
Installazione PostgreSQL da utilizzare come database di origine (vedere l'impostazione dell'ambiente)
-
Aprire la porta 5432 nella lista di sicurezza della VCN
-
Creare una connessione a Google Cloud Storage.
Nota: assicurarsi che il bucket GCS e il data set BigQuery esistano nella stessa posizione/regione.
Impostazione dell'ambiente: PostgreSQL
Per impostare l'ambiente per questo Quickstart:
-
Eseguire i comandi seguenti per installare PostgreSQL.
-
Installa server PostgreSQL:
sudo yum install postgresql-server -
Installare il modulo postgresql-contrib per evitare questa eccezione SQL:
sudo yum install postgresql-contrib -
Creare un nuovo cluster di database PostgreSQL:
sudo postgresql-setup --initdb -
Abilita postgresql.service:
sudo systemctl enable postgresql.service -
Avviare postgresql.service:
sudo systemctl start postgresql.service
-
-
Per impostazione predefinita, PostgreSQL consente solo connessioni locali. Consenti connettività remota a PostgreSQL.
-
In
/var/lib/pgsql/data/postgresql.conf, preparare il database per la replica. -
Individuare e rimuovere il punto
listen_addresses = 'localhost'e modificare localhost in un asterisco (`):listen_addresses = '*' -
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.confper 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 md5Per ulteriori informazioni, vedere File pg_hba.conf.
- Riavviare il server PostgreSQL:
sudo systemctl restart postgresql.service- 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 -
-
Aprire la porta 5432 nella lista di sicurezza della VCN.
-
> sudo su - postgres > psqlNota: in alternativa, è possibile immettere
sudo su - postgres psqlse l'esempio precedente non funziona. -
Impostare PostgreSQL.
-
Scaricare ed eseguire seedSRCOCIGGLL_PostgreSQL.sql per impostare il database e caricare i dati di esempio.
-
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
-
Creare una distribuzione per il database PostgreSQL di origine.
-
Creare una distribuzione Big Data per Google BigQuery di destinazione.
-
Creare una connessione alla destinazione Google BigQuery.
-
Creare una connessione al database PostgreSQL di origine.
-
Per Tipo, assicurarsi di selezionare il server PostgreSQL.
-
Per Nome database, immettere
ociggll. -
Per Host, immettere l'IP pubblico dell'istanza di computazione su cui viene eseguito PostgreSQL.
-
Per Porta, immettere
5432. -
Per Nome utente, immettere
ggadmin. -
Per Password, immettere una password.
-
In Protocollo di sicurezza selezionare Plain.
-
-
Creare una connessione a GoldenGate, quindi assegnare questa connessione alla distribuzione PostgreSQL di origine.
-
Assegnare la connessione di origine alla distribuzione PostgreSQL di origine.
-
Assegnare la connessione di destinazione alla distribuzione Big Data di destinazione.
Task 2: Abilita log supplementare
Per abilitare il log supplementare, procedere come segue.
-
Avviare la console di distribuzione PostgreSQL GoldenGate:
-
Nella pagina Distribuzioni selezionare la distribuzione PostgreSQL per visualizzarne i dettagli.
-
Nella pagina dei dettagli della distribuzione PostgreSQL selezionare Avvia console.
-
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.
-
-
Nella console di distribuzione, selezionare Connessioni DB nella navigazione a sinistra, quindi nel database PostgreSQL di origine, quindi in Trandata.
-
Nella pagina TRANDATA, accanto a Informazioni TRANDATA, selezionare Aggiungi TRANDATA (icona più).
-
Nel pannello Trandata, per Nome schema, immettere
src_ociggll, quindi selezionare Sottometti.Nota: utilizzare il campo di ricerca per cercare
src_ocigglle verificare che le tabelle siano state aggiunte.
Task 3: Creazione dell'estrazione
Per aggiungere l'estrazione di Change Data Capture, procedere come segue.
-
Nella navigazione a sinistra selezionare Extracts.
-
Nella pagina Estrazioni, selezionare Aggiungi estrazione (icona più), quindi completare i campi come indicato di seguito.
-
Nella pagina Informazioni estrazione:
-
Per Tipo estrazione, selezionare Modifica estrazione acquisizione dati.
-
In Nome processo immettere un nome per l'estrazione, ad esempio
ECDC. -
Selezionare Next.
-
-
Nella pagina Opzioni estrazione:
-
Per le credenziali di origine, selezionare Oracle GoldenGate dall'elenco a discesa Dominio
-
Selezionare il database PostgreSQL di origine dall'elenco a discesa Alias.
-
Per Nome trail estrazione, immettere un nome trail di due caratteri, ad esempio
C1. -
Selezionare Next.
-
-
Nella pagina Parametri estrazione, sostituire
MAP *.*, TARGET *.*;con quanto segue:TABLE SRC_OCIGGLL.*;
-
-
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.
-
Nella console di Oracle Cloud, nella pagina Distribuzioni, selezionare la distribuzione Big Data di destinazione.
-
Selezionare Aggiungi percorso di distribuzione.
-
Completare il modulo Aggiungi percorso come indicato di seguito.
-
Nella pagina Informazioni percorso:
-
In Nome percorso, immettere un nome.
-
Selezionare Next.
-
-
Nella pagina Opzioni origine, effettuare le operazioni riportate di seguito.
-
Per Estrazione origine, selezionare Estrazione acquisizione dati modifica (
ECDC). -
In Nome percorso, selezionare il file trail di Change Data Capture (
C1). -
Selezionare Next.
-
-
Nella pagina Opzioni destinazione, effettuare le operazioni riportate di seguito.
-
Per Destinazione, selezionare wss.
-
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.
-
In Numero porta, immettere
443. -
Per Nome percorso, immettere
C1. -
Per Metodo di autenticazione destinazione, selezionare Alias ID utente.
-
Per Dominio, immettere il nome del dominio.
-
Per Alias, immettere l'alias.
-
-
Selezionare Crea percorso ed esegui.
-
Task 5: Aggiungi Replicat
-
Nel menu di navigazione della console di distribuzione Big Data destinazione, selezionare Replicat, quindi selezionare Aggiungi Replicat (icona più).
-
Nella pagina Replicat selezionare Aggiungi Replicat (icona più) e quindi completare il form Aggiungi Replicat come indicato di seguito.
-
Nella pagina Informazioni Replicat:
-
Per Tipo Replicat, selezionare Parallelo o Replicat coordinato.
-
In Nome processo, immettere un nome, ad esempio
RCDC. -
Selezionare Next.
-
-
Nella pagina Opzioni Replicat:
-
In Nome trail replica, immettere il nome del trail dal task 3 (
C1). -
Per Credenziali di destinazione, selezionare Dominio e Alias per la connessione a Google Big Query.
-
Per Posizioni area intermedia disponibili, selezionare Google Cloud Storage dall'elenco a discesa.
-
Per tramite alias temporaneo, selezionare la connessione a Google Cloud Storage dall'elenco a discesa.
-
-
Nella pagina File dei parametri aggiungere il mapping riportato di seguito, quindi selezionare Successivo.
MAP *.*, TARGET *.*; -
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
-
-
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.
-
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); -
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. -
Nella console di distribuzione Big Data di destinazione, selezionare il nome Replicat, visualizzarne i dettagli e selezionare Statistiche per verificare il numero di inserimenti.