Répliquer des données de PostgreSQL vers Google BigQuery
Découvrez comment utiliser OCI GoldenGate pour répliquer des données de PostgreSQL vers Google BigQuery.
Avant de commencer
Pour mener à bien ce démarrage rapide, vous devez disposer des éléments suivants :
Pour mener à bien ce démarrage rapide, vous devez disposer des éléments suivants :
-
Installation de PostgreSQL pour servir de base de données source (voir Configuration de l'environnement)
-
Ouvrez le port 5432 dans la liste de sécurité de votre VCN
-
Création d'une connexion à Google Cloud Storage.
Remarque : assurez-vous que le bucket GCS et le jeu de données BigQuery existent au même emplacement/région.
Configuration de l'environnement : PostgreSQL
Afin de configurer l'environnement pour ce démarrage rapide, procédez comme suit :
-
Exécutez les commandes suivantes pour installer PostgreSQL.
-
Installez le serveur PostgreSQL :
sudo yum install postgresql-server -
Installez le module postgresql-contrib pour éviter cette exception SQL :
sudo yum install postgresql-contrib -
Créez un cluster de base de données PostgreSQL :
sudo postgresql-setup --initdb -
Activez le service postgresql.service :
sudo systemctl enable postgresql.service -
Démarrez postgresql.service :
sudo systemctl start postgresql.service
-
-
Par défaut, PostgreSQL n'autorise que les connexions locales. Autoriser la connectivité à distance à PostgreSQL.
-
Dans
/var/lib/pgsql/data/postgresql.conf, préparez la base de données pour la réplication. -
Localisez et supprimez le commentaire
listen_addresses = 'localhost'et remplacez localhost par un astérisque (`) :listen_addresses = '*' -
Définissez les paramètres suivants comme suit :
-
wal_level = logical -
max_replication_slots = 1 -
max_wal_senders = 1 -
track_commit_timestamp = on
Remarque :
Configurez
/var/lib/pgsql/data/pg_hba.confpour vous assurer que l'authentification client est définie de manière à autoriser les connexions à partir d'un hôte Oracle GoldenGate. Par exemple, ajoutez ce qui suit :#Allow connections from remote hosts host all all 0.0.0.0/0 md5Pour plus d'informations, reportez-vous à Fichier pg_hba.conf.
- Redémarrez le serveur PostgreSQL :
sudo systemctl restart postgresql.service- Si vous utilisez Oracle Cloud Compute pour héberger PostgreSQL, ouvrez le port 5432 :
sudo firewall-cmd --permanent --add-port=5432/tcp sudo firewall-cmd --reload sudo firewall-cmd --list-all -
-
Ouvrez le port 5432 dans la liste de sécurité de votre VCN.
-
> sudo su - postgres > psqlRemarque : vous pouvez également saisir
sudo su - postgres psqlsi l'exemple ci-dessus ne fonctionne pas. -
Paramétrer PostgreSQL.
-
Téléchargez et exécutez seedSRCOCIGGLL_PostgreSQL.sql pour configurer la base de données et charger les données échantillon.
-
Exécutez les commandes suivantes pour configurer l'utilisateur (veillez à remplacer
<password>par un mot de passe réel) :
create user ggadmin with password '<password>'; alter user ggadmin with SUPERUSER; GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin; -
-
Tâche 1 : créer les ressources OCI GoldenGate
-
Créez un déploiement pour la base de données PostgreSQL source.
-
Créez un déploiement Big Data pour le Google BigQuery cible.
-
Créez une connexion à la Google BigQuery cible.
-
Créez une connexion à la base de données PostgreSQL source.
-
Pour Type, assurez-vous de sélectionner PostgreSQL Server.
-
Dans Nom de base de données, entrez
ociggll. -
Pour Hôte, entrez l'adresse IP publique de l'instance Compute sur laquelle PostgreSQL s'exécute.
-
Dans Port, saisissez
5432. -
Dans Nom utilisateur, entrez
ggadmin. -
Pour Mot de passe, entrez un mot du passe.
-
Pour Protocole de sécurité, sélectionnez Plain.
-
-
Créez une connexion à GoldenGate, puis affectez cette connexion au déploiement PostgreSQL source.
-
Affectez la connexion source au déploiement PostgreSQL source.
Tâche 2 : activer la journalisation supplémentaire
Pour activer la journalisation supplémentaire, procédez comme suit :
-
Lancez la console de déploiement PostgreSQL GoldenGate :
-
Sur la page Déploiements, sélectionnez le déploiement PostgreSQL pour en visualiser les détails.
-
Sur la page de détails de déploiement PostgreSQL, sélectionnez Lancement de la console.
-
Dans la page de connexion à la console de déploiement, entrez les informations d'identification d'administration GoldenGate fournies à l'étape 1 de la tâche 1.
Remarque : la connexion est requise si IAM n'a pas été sélectionné en tant que banque d'informations d'identification lors de la création d'un déploiement.
-
-
Dans la console de déploiement, sélectionnez Connexions de base de données dans la navigation de gauche, puis la base de données PostgreSQL source et Trandata.
-
Sur la page TRANDATA, en regard des informations TRANDATA, sélectionnez Ajouter TRANDATA (icône Plus).
-
Dans le panneau Trandata, dans Nom du schéma, entrez
src_ociggll, puis sélectionnez Soumettre.Remarque : utilisez le champ de recherche pour rechercher
src_ociggllet vérifier que les tables ont été ajoutées.
Tâche 3 : créer l'extraction
Pour ajouter une extraction de capture des données de modification :
-
Dans la navigation de gauche, sélectionnez Extractions.
-
Sur la page Extractions, sélectionnez Ajouter une extraction (icône Plus), puis renseignez les champs comme suit :
-
Dans la page Extract Information :
-
Pour Type d'extraction, sélectionnez Extraction de capture de données de modification.
-
Dans Nom de processus, entrez un nom pour l'extraction, par exemple
ECDC. -
Sélectionnez Suivant.
-
-
Dans la page Extract Options :
-
Pour les informations d'identification source, sélectionnez Oracle GoldenGate dans la liste déroulante Domaine.
-
Sélectionnez la base de données PostgreSQL source dans la liste déroulante Alias.
-
Dans Nom de trace d'extraction, saisissez un nom de trace à deux caractères, tel que
C1. -
Sélectionnez Suivant.
-
-
Sur la page Paramètres d'extraction, remplacez
MAP *.*, TARGET *.*;par l'élément suivant :TABLE SRC_OCIGGLL.*;
-
-
Sélectionnez Créer et exécuter.
Vous revenez à la page Extractions, où vous pouvez observer le début des extractions.
Tâche 4 : créer le chemin de distribution pour la capture des données de modification
Pour créer un chemin de distribution pour la capture des données de modification, procédez comme suit :
-
Sur la page Déploiements de la console Oracle Cloud, sélectionnez le déploiement Big Data cible.
-
Sélectionnez Ajouter un chemin de distribution.
-
Remplissez le formulaire Ajouter un chemin comme suit :
-
Dans la page Path Information :
-
Dans Nom de chemin, entrez un nom.
-
Sélectionnez Suivant.
-
-
Dans la page Source Options :
-
Pour Extraction source, sélectionnez l'extraction de capture des données de modification (
ECDC). -
Dans Nom de la trace, sélectionnez le fichier trace de capture de données de modification (
C1). -
Sélectionnez Suivant.
-
-
Dans la page Target Options :
-
Dans Cible, sélectionnez WSS.
-
Pour Hôte cible, entrez l'URL de la console de déploiement cible (vous pouvez la trouver sur la page de détails du déploiement, sans https :// ni barre oblique de fin).
-
Dans Numéro de port, saisissez
443. -
Dans Nom de la trace, entrez
C1. -
Dans Méthode d'authentification cible, sélectionnez Alias d'ID utilisateur.
-
Dans Domaine, saisissez le nom de domaine.
-
Saisissez l'alias dans Alias.
-
-
Sélectionnez Créer un chemin et exécuter.
-
Tâche 5 : ajouter une réplication
-
Dans le menu de navigation de la console de déploiement Big Data cible, sélectionnez Réplications, puis Ajouter une réplication (icône Plus).
-
Sur la page Réplications, sélectionnez Ajouter une réplication (icône Plus), puis remplissez le formulaire Ajouter une réplication comme suit :
-
Dans la page Replicat Information :
-
Pour Type de réplication, sélectionnez Parallèle ou Réplication coordonnée.
-
Dans Nom de processus, entrez un nom, tel que
RCDC. -
Sélectionnez Suivant.
-
-
Dans la page Replicat Options :
-
Dans Nom de traces Replicat, saisissez le nom de l'arborescence de traces de l'étape 3 (
C1). -
Pour Informations d'identification cible, sélectionnez le domaine et l'alias de la connexion Google Big Query.
-
Pour Emplacements intermédiaires disponibles, sélectionnez Google Cloud Storage dans la liste déroulante.
-
Pour via l'alias intermédiaire, sélectionnez la connexion Google Cloud Storage dans la liste déroulante.
-
-
Sur la page Fichier de paramètres, ajoutez le mapping suivant, puis sélectionnez Suivant :
MAP *.*, TARGET *.*; -
Dans la page Properties File, configurez les propriétés requises selon vos besoins. Recherchez ceux marqués comme
#TODO, puis sélectionnez Suivant.Voici quelques propriétés que vous pouvez envisager de modifier :
gg.eventhandler.gcs.bucketMappingTemplate: indiquez le nom du bucket qui sera utilisé en tant que stockage intermédiaire
-
-
Sélectionnez Créer et exécuter.
Vous revenez à la page Replicats, dans laquelle vous pouvez consulter les détails de la réplication.
Tâche 6 : vérifier la capture des données de modification
Effectuez des mises à jour de la base de données PostgreSQL source pour vérifier la réplication vers Google BigQuery.
-
Exécutez le script suivant pour effectuer des insertions dans la base de données 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); -
Dans la console de déploiement PostgreSQL source, sélectionnez le nom de l'extraction (
ECDC), puis sélectionnez Statistiques. Vérifiez que src_ociggll.src_city comporte 10 insertions.Remarque : si l'extraction n'a capturé aucune insertion, redémarrez l'extraction
ECDC. -
Dans la console de déploiement Big Data cible, sélectionnez le nom du processus Replicat, affichez ses détails et cochez la case Statistiques pour vérifier le nombre d'insertions.