Répliquer des données de PostgreSQL vers Google BigQuery

Voyez comment utiliser OCI GoldenGate pour répliquer des données de PostgreSQL vers Google BigQuery.

Avant de commencer

Pour terminer ce démarrage rapide, vous devez disposer des éléments suivants :

Configuration de l'environnement : PostgreSQL

Pour configurer l'environnement pour ce démarrage rapide :
  1. Exécutez les commandes suivantes pour installer PostgreSQL.
    1. Installez le serveur PostgreSQL :
      sudo yum install postgresql-server
    2. Installez le module postgresql-contrib pour éviter cette exception SQL :
      sudo yum install postgresql-contrib
    3. Créez une grappe de base de données PostgreSQL :
      sudo postgresql-setup --initdb
    4. Activez postgresql.service :
      sudo systemctl enable postgresql.service
    5. Démarrez postgresql.service :
      sudo systemctl start postgresql.service
  2. Par défaut, PostgreSQL autorise uniquement les connexions locales. Autoriser la connectivité distante à PostgreSQL.
    1. Dans /var/lib/pgsql/data/postgresql.conf, préparez la base de données pour la réplication.
    2. Localisez et décompressez listen_addresses = 'localhost' et remplacez localhost par un astérisque (*) :
      listen_addresses = '*'
    3. Définissez les paramètres suivants :
      • wal_level = logical
      • max_replication_slots = 1
      • max_wal_senders = 1
      • track_commit_timestamp = on

      Note :

      Configurez /var/lib/pgsql/data/pg_hba.conf pour vous assurer que l'authentification de client est définie pour 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    md5
      Pour plus d'informations, voir Fichier pg_hba.conf.
    4. Redémarrez le serveur PostgreSQL :
      sudo systemctl restart postgresql.service
  3. 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
  4. Ouvrez le port 5432 dans la liste de sécurité de votre VCN.
  5. Connectez-vous à PostgreSQL.
    > sudo su - postgres
    > psql

    Note :

    Vous pouvez également entrer sudo su - postgres psql si l'exemple ci-dessus ne fonctionne pas.
  6. Configurez PostgreSQL.
    1. Téléchargez et exécutez seedSRCOCIGGLL_PostgreSQL.sql pour configurer la base de données et charger les données-échantillons.
    2. Exécutez les commandes suivantes pour configurer l'utilisateur (assurez-vous de 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 des ressources GoldenGate pour OCI

  1. Créez un déploiement pour la base de données PostgreSQL source.
  2. Créez un déploiement du service de mégadonnées pour la cible Google BigQuery.
  3. Créez une connexion à Google BigQuery cible.
  4. Créez une connexion à la base de données PostgreSQL source.
    1. Pour Type, assurez-vous de sélectionner PostgreSQL Server.
    2. Pour Nom de la base de données, entrez ociggll.
    3. Pour Hôte, entrez l'adresse IP publique de l'instance de calcul sur laquelle PostgreSQL s'exécute.
    4. Pour Port, entrez 5432.
    5. Pour Nom d'utilisateur, entrez ggadmin.
    6. Pour Mot de passe, entrez un mot de passe.
    7. Pour Protocole de sécurité, sélectionnez Plaine.
  5. Créez une connexion à GoldenGate, puis affectez cette connexion au déploiement PostgreSQL source.
  6. Affectez la connexion source au déploiement PostgreSQL source..
  7. Affectez la connexion cible au déploiement du service de mégadonnées cible.

Tâche 2 : Activer la journalisation supplémentaire

Pour activer la journalisation supplémentaire :
  1. Lancez la console de déploiement de GoldenGate pour PostgreSQL :
    1. Dans la page Déploiements, sélectionnez le déploiement PostgreSQL pour en afficher les détails.
    2. Dans la page des détails du déploiement PostgreSQL, cliquez sur Lancer la console.
    3. Dans la page de connexion à la console de déploiement, entrez les données d'identification de l'administrateur GoldenGate fournies à l'étape 1 de la tâche 1.
  2. Dans GoldenGate 23ai, cliquez sur Connexions à la base de données dans la barre de navigation de gauche, puis sur la base de données PostgreSQL source, puis sur Trandata.
  3. Dans la page TRANDATA, à côté de Données TRANDATA, cliquez sur Ajouter TRANDATA (icône plus).
  4. Dans le panneau Trandata, pour Nom du schéma, entrez src_ociggll.*, puis cliquez sur Soumettre.

    Note :

    Utilisez le champ de recherche pour rechercher src_ociggll et vérifier que les tables ont été ajoutées.

Tâche 3 : Créer Extract

Pour ajouter Change Data Capture Extract :
  1. Dans la barre de navigation gauche, cliquez sur Extractions.
  2. Dans la page Extractions, cliquez sur Ajouter Extraire (icône plus), puis remplissez les champs comme suit :
    • Dans la page Extraction données :
      1. Pour le type Extraire, sélectionnez Change Data Capture Extract.
      2. Pour Nom du processus, entrez un nom pour Extraire, par exemple ECDC.
      3. Cliquez sur Suivant.
    • Dans la page Options d'extraction :
      1. Pour les données d'identification sources, sélectionnez Oracle GoldenGate dans la liste déroulante Domaine.
      2. Sélectionnez la base de données PostgreSQL source dans la liste déroulante Alias.
      3. Pour Extraire le nom de la piste, entrez un nom de piste à deux caractères, par exemple C1.
      4. Cliquez sur Suivant.
    • Dans la page Extraire les paramètres, remplacez MAP *.*, TARGET *.*; par ce qui suit :
      TABLE SRC_OCIGGLL.*;
  3. Cliquez sur Créer et exécuter.

    Vous retournez à la page Extracts, où vous pouvez observer le démarrage de Extracts.

Tâche 4 : Créez Distribution Path pour Change Data Capture

Pour créer une valeur Distribution Path pour Change Data Capture, procédez comme suit :

  1. Dans la console Oracle Cloud, dans la page Déploiements, sélectionnez le déploiement de mégadonnées cible.
  2. Dans la page des détails du déploiement, cliquez sur Lancer la console. Connectez-vous avec les détails de l'utilisateur administrateur créés à la tâche 1, étape 2.
  3. Si vous utilisez le magasin de données d'identification IAM, passez à l'étape Créer une adresse Distribution Path. Si vous utilisez le magasin de données d'identification GoldenGate, créez un utilisateur avec lequel la source GoldenGate utilise pour se connecter à la cible GoldenGate.
    1. Dans le menu de navigation, cliquez sur Administration des utilisateurs.
    2. Cliquez sur Ajouter un utilisateur (icône plus), remplissez les champs comme suit, puis cliquez sur Soumettre :
      • Pour Nom d'utilisateur, entrez ggsnet.
      • Pour Rôle, sélectionnez Opérateur.
      • Entrez deux fois le mot de passe pour vérification.
  4. Dans la console du déploiement PostgreSQL source, créez une connexion de chemin pour l'utilisateur créé à l'étape précédente.
    1. Dans le menu de navigation, cliquez sur Connexions de chemin.
    2. Cliquez sur Ajouter une connexion de chemin (icône plus), remplissez les champs comme suit, puis cliquez sur Soumettre :
      • Pour l'alias de données d'identification, entrez dpuser.
      • Pour l'ID utilisateur, entrez ggsnet
      • Pour Mot de passe, entrez le même mot de passe que celui utilisé à l'étape précédente.
  5. Cliquez sur Ajouter Distribution Path.
  6. Remplissez le formulaire Add Path comme suit :
    1. Dans la page Path Information :
      1. Pour Nom du chemin, entrez un nom.
      2. Cliquez sur Suivant.
    2. Dans la page Options sources :
      1. Pour Source Extract, sélectionnez Change Data Capture Extract (ECDC)).
      2. Pour Nom de la piste, sélectionnez le fichier de piste Change Data Capture (C1).
      3. Cliquez sur Suivant.
    3. Dans la page Target Options :
      1. Pour Cible, sélectionnez wss.
      2. Pour Hôte cible, entrez l'URL de la console de déploiement cible (vous pouvez le trouver dans la page des détails du déploiement, sans https :// ni les barres obliques de fin.
      3. Pour Numéro de port, entrez 443.
      4. Pour Nom de la piste, entrez C1.
      5. Pour Méthode d'authentification cible, sélectionnez alias UserID.
      6. Pour Domaine, entrez le nom du domaine.
      7. Pour Alias, entrez l'alias.
    4. Cliquez sur Créer un chemin et exécuter.
  7. Dans la console de déploiement du service de mégadonnées cible, cliquez sur Receiver Service, puis vérifiez la valeur Receiver Path créée.

Tâche 5 : Ajouter un élément Replicat

  1. Dans le menu de navigation de la console de déploiement du service Cible, cliquez sur Replicats, puis sur Ajouter Replicat (icône plus).
  2. Dans la page Replicats, cliquez sur Ajouter Replicat (icône plus), puis remplissez le formulaire Ajouter Replicat comme suit :
    1. Dans la page Informations sur Replicat :
      1. Pour Type Replicat, sélectionnez Parallel ou Coordinated Replicat.
      2. Pour Nom du processus, entrez un nom, par exemple RCDC.
      3. Cliquez sur Suivant.
    2. Dans la page Options Replicat :
      1. Pour Replicat Nom de la piste, entrez le nom de la piste de la tâche 3 (C1).
      2. Pour Données d'identification cibles, sélectionnez le domaine et les alias pour la connexion à Google Big Query.
      3. Pour Emplacements intermédiaires disponibles, sélectionnez Google Cloud Storage dans la liste déroulante.
      4. Pour par l'intermédiaire d'un alias intermédiaire, sélectionnez une connexion à Google Cloud Storage dans la liste déroulante.
    3. Dans la page Parameter File, ajoutez le mapping suivant, puis cliquez sur Next :
      MAP *.*, TARGET *.*;
    4. Dans la page Fichier de propriétés, configurez les propriétés requises. Recherchez ceux marqués comme #TODO, puis cliquez sur Suivant.
      Vous pouvez envisager de modifier les propriétés suivantes :
      • gg.eventhandler.gcs.bucketMappingTemplate : Indiquez le nom du seau qui sera utilisé comme stockage temporaire
  3. Cliquez sur Créer et exécuter.

    Vous retournez à la page Replicats, où vous pouvez consulter les détails de Replicat.

Tâche 6 : Vérifier Change Data Capture

Effectuez des mises à jour de la base de données PostgreSQL source pour vérifier la réplication vers Google BigQuery.
  1. Exécutez le script suivant pour insérer des données 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);
  2. Dans la console de déploiement PostgreSQL source, sélectionnez le nom Extract (EDCD), puis cliquez sur Statistiques. Vérifiez que src_ociggll.src_city comporte 10 insertions.

    Note :

    Si Extract n'a saisi aucune insertion, redémarrez EDCD Extract.
  3. Dans la console de déploiement du service de mégadonnées cible, sélectionnez le nom Replicat, consultez ses détails et vérifiez les statistiques pour vérifier le nombre d'insertions.