GSP1052

Présentation
Dans l'environnement concurrentiel actuel, les organisations doivent prendre des décisions rapides et efficaces basées sur les données en temps réel. Datastream pour BigQuery propose la réplication transparente depuis des sources de bases de données opérationnelles telles que AlloyDB, MySQL, PostgreSQL et Oracle, directement vers BigQuery, l'entrepôt de données sans serveur de Google Cloud. Grâce à son architecture sans serveur à autoscaling, Datastream vous permet de configurer facilement un pipeline ELT (extraction, chargement et transformation) pour la réplication de données à faible latence, vous permettant ainsi de bénéficier d'insights en temps réel.
Dans cet atelier pratique, vous allez déployer une base de données Cloud SQL pour PostgreSQL et importer un exemple d'ensemble de données à l'aide de la ligne de commande gcloud. Dans l'UI, vous allez créer et lancer un flux Datastream, et répliquer les données dans BigQuery.
Même si vous pouvez facilement copier et coller les commandes du présent atelier aux endroits appropriés, nous vous conseillons de les saisir vous-même afin de mieux assimiler les concepts fondamentaux.
Objectifs de l'atelier
- Préparer une instance Cloud SQL pour PostgreSQL à l'aide de la console Google Cloud
- Importer les données dans l'instance Cloud SQL
- Créer un profil de connexion Datastream pour la base de données PostgreSQL
- Créer un profil de connexion Datastream pour la destination BigQuery
- Créer un flux Datastream et démarrer la réplication
- Vérifier que les données existantes et les modifications sont bien répliquées dans BigQuery
Prérequis
- Bonne connaissance des environnements Linux standards
- Bonne connaissance des concepts de capture des données modifiées (CDC, Change Data Capture)
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Créer une base de données pour la réplication
Dans cette section, vous allez préparer une base de données Cloud SQL pour PostgreSQL pour la réplication Datastream.
Créer la base de données Cloud SQL
- Exécutez la commande suivante pour activer l'API Cloud SQL :
gcloud services enable sqladmin.googleapis.com
- Exécutez la commande suivante pour créer une instance de base de données Cloud SQL pour PostgreSQL :
POSTGRES_INSTANCE=postgres-db
DATASTREAM_IPS={{{project_0.startup_script.ip_Address | IP_ADDRESS}}}
gcloud sql instances create ${POSTGRES_INSTANCE} \
--database-version=POSTGRES_14 \
--cpu=2 --memory=10GB \
--authorized-networks=${DATASTREAM_IPS} \
--region={{{project_0.default_region|REGION}}} \
--root-password pwd \
--database-flags=cloudsql.logical_decoding=on
Remarque : Cette commande crée la base de données dans . Pour d'autres régions, veillez à remplacer DATASTREAM_IPS par les adresses IP publiques de Datastream adaptées à votre région.
Remarque : Une fois la base de données créée, notez l'adresse IP publique de l'instance. Vous en aurez besoin ultérieurement lors de la création du profil de connexion Datastream.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer une base de données pour la réplication
Insérer des exemples de données dans la base de données
Connectez-vous à la base de données PostgreSQL en exécutant la commande suivante dans Cloud Shell.
gcloud sql connect postgres-db --user=postgres
Lorsque vous êtes invité à saisir le mot de passe, indiquez pwd.
Une fois connecté à la base de données, exécutez la commande SQL suivante pour créer un exemple de schéma et de table :
CREATE SCHEMA IF NOT EXISTS test;
CREATE TABLE IF NOT EXISTS test.example_table (
id SERIAL PRIMARY KEY,
text_col VARCHAR(50),
int_col INT,
date_col TIMESTAMP
);
ALTER TABLE test.example_table REPLICA IDENTITY DEFAULT;
INSERT INTO test.example_table (text_col, int_col, date_col) VALUES
('hello', 0, '2020-01-01 00:00:00'),
('goodbye', 1, NULL),
('name', -987, NOW()),
('other', 2786, '2021-01-01 00:00:00');
Configurer la base de données pour la réplication
- Exécutez la commande SQL suivante pour créer une publication et un emplacement de réplication :
CREATE PUBLICATION test_publication FOR ALL TABLES;
ALTER USER POSTGRES WITH REPLICATION;
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('test_replication', 'pgoutput');
Tâche 2 : Créer les ressources Datastream et démarrer la réplication
Maintenant que la base de données est prête, créez les profils de connexion et le flux Datastream pour démarrer la réplication.
-
Dans le menu de navigation, cliquez sur Afficher tous les produits. Sous Analyse, sélectionnez Datastream.
-
Cliquez sur Activer pour activer l'API Datastream.
Créer des profils de connexion
Créez deux profils de connexion : l'un pour la source PostgreSQL, l'autre pour la destination BigQuery.
Profil de connexion PostgreSQL
-
Dans la console Cloud, accédez à l'onglet Profils de connexion, puis cliquez sur Créer un profil.
-
Sélectionnez le type de profil de connexion PostgreSQL.
-
Saisissez postgres-cp comme nom de profil de connexion.
-
Saisissez les informations sur la connexion à la base de données :
- Région :
- Adresse IP et port de l'instance Cloud SQL créée précédemment (tâche 1)
- Pour trouver l'adresse IP de votre instance Cloud SQL :
- Dans le menu de navigation, cliquez sur "Cloud SQL".
- Sur la page Cloud SQL, recherchez votre instance PostgreSQL nommée "postgres-db".
- Copiez l'adresse IP publique de l'instance.
- Nom d'utilisateur :
postgres
- Pour le mot de passe, sélectionnez Saisir le mot de passe manuellement et saisissez
pwd.
- Base de données :
postgres
-
Cliquez sur Continuer.
-
Pour Type de chiffrement, sélectionnez Aucun.
-
Sélectionnez la méthode de connectivité Liste d'autorisation d'adresses IP, puis cliquez sur Continuer.
-
Cliquez sur EFFECTUER LE TEST pour vérifier que Datastream peut accéder à la base de données.
-
Cliquez sur Créer.
Profil de connexion BigQuery
- Dans la console Cloud, accédez à l'onglet Profils de connexion, puis cliquez sur Créer un profil.
- Sélectionnez le type de profil de connexion BigQuery.
-
Saisissez bigquery-cp comme nom de profil de connexion.
-
Région
-
Cliquez sur Créer.
Créer un flux
Créez le flux permettant d'associer les profils de connexion créés ci-dessus et de configurer les données à transférer de la source vers la destination.
- Dans la console Cloud, accédez à l'onglet Flux, puis cliquez sur Créer un flux.
Définir les détails du flux
- Saisissez
test-stream comme nom de flux de connexion.
- Région
- Sélectionnez PostgreSQL comme type de source.
- Sélectionnez BigQuery comme type de destination.
- Cliquez sur Continuer.
Définir et tester la source
- Sélectionnez le profil de connexion postgres-cp créé à l'étape précédente.
- [Facultatif] Cliquez sur Effectuer le test pour tester la connectivité.
- Cliquez sur Continuer.
Configurer la source
- Définissez le nom de l'emplacement de réplication sur
test_replication.
- Définissez le titre de la publication sur
test_publication.
- Sélectionnez le schéma test pour la réplication.
- Cliquez sur Continuer.
Définir la destination
- Sélectionnez le profil de connexion bigquery-cp créé à l'étape précédente, puis cliquez sur Continuer.
Configurer la destination
- Choisissez une région, puis sélectionnez comme emplacement de l'ensemble de données BigQuery.
- Définissez la limite d'obsolescence sur 0 seconde.
- Cliquez sur Continuer.
Examiner et créer le flux
- Enfin, validez les détails du flux en cliquant sur Exécuter la validation. Une fois la validation terminée, cliquez sur Créer et démarrer, puis confirmez en cliquant à nouveau sur Créer et démarrer.
Patientez environ 1 à 2 minutes jusqu'à ce que l'état du flux indique qu'il est en cours d'exécution.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer les ressources Datastream
Tâche 3 : Afficher les données dans BigQuery
Maintenant que le flux est en cours d'exécution, observez la réplication des données dans l'ensemble de données BigQuery.
- Dans le menu de navigation de la console Google Cloud, accédez à BigQuery.
Dans le pop-up, cliquez sur OK.
- Dans l'explorateur BigQuery Studio, développez le nœud du projet pour afficher la liste des ensembles de données.
- Développez le nœud de l'ensemble de données test.
- Cliquez sur la table example_table.
- Cliquez sur l'onglet Aperçu pour afficher les données dans BigQuery.
Remarque : L'affichage des données dans la section Aperçu peut prendre quelques minutes.
- Si le message "Aucune donnée à afficher" s'affiche dans l'onglet "Aperçu", vous pouvez vérifier les données à l'aide de la commande suivante.
SELECT * FROM test.example_table ORDER BY id;
Tâche 4 : Vérifier que les modifications apportées dans la source sont répliquées dans BigQuery
- Exécutez la commande suivante dans Cloud Shell pour vous connecter à la base de données Cloud SQL (le mot de passe est
pwd) :
gcloud sql connect postgres-db --user=postgres
- Exécutez les commandes SQL suivantes pour apporter des modifications aux données :
INSERT INTO test.example_table (text_col, int_col, date_col) VALUES
('abc', 0, '2022-10-01 00:00:00'),
('def', 1, NULL),
('ghi', -987, NOW());
UPDATE test.example_table SET int_col=int_col*2;
DELETE FROM test.example_table WHERE text_col = 'abc';
- Ouvrez l'espace de travail BigQuery SQL, puis exécutez la requête suivante pour afficher les modifications dans BigQuery :
SELECT * FROM test.example_table ORDER BY id;
Félicitations !
Datastream est un outil essentiel dans votre boîte à outils d'intégration et d'analyse des données. Vous avez découvert les principes de base de la réplication de PostgreSQL vers BigQuery avec Datastream.
Dernière mise à jour du manuel : 17 septembre 2025
Dernier test de l'atelier : 17 septembre 2025
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.