Ce tutoriel explique comment créer et déployer une tâche qui réplique en continu les données modifiées d'une base de données MySQL vers une table BigQuery.
Objectifs
Dans ce tutoriel, vous allez :
- Déployer votre base de données MySQL sur Compute Engine.
- Configurer votre base de données MySQL pour activer la réplication
- Créer et exécuter un job de réplication Cloud Data Fusion
- Afficher les résultats dans BigQuery.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Lorsque la réplication s'exécute, le cluster Dataproc vous est facturé, ainsi que des coûts de traitement pour BigQuery. Pour optimiser ces coûts, nous vous recommandons vivement d'utiliser les tarifs forfaitaires de BigQuery.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
- Créez une instance Cloud Data Fusion publique version 6.3.0 ou ultérieure. Si vous créez une instance privée, configurez l'appairage de réseaux VPC.
- Lorsque vous créez l'instance, activez la réplication en cliquant sur Ajouter des accélérateurs et en cochant la case Réplication.
- Pour l'activer dans une instance existante, consultez Activer la réplication.
Rôles requis
Pour obtenir les autorisations nécessaires pour ce tutoriel, consultez Contrôle des accès avec IAM et Accorder l'autorisation d'utilisateur au compte de service.
Installer MySQL dans Compute Engine
Téléchargez une image Docker de serveur MySQL.
Importez votre image Docker dans Artifact Registry.
Déployez votre image Docker sur une nouvelle instance de VM.
Sur la page Disques de Compute Engine, définissez la taille du disque sur
500 GB
et redémarrez la VM.Créez un pare-feu pour l'instance de VM.
Installez l'exemple de base de données Sakila.
Activer la réplication dans votre base de données MySQL
Pour activer la réplication, configurez la capture de données modifiées (CDC) dans MySQL.
Créer et exécuter un job de réplication Cloud Data Fusion
Importer le pilote JDBC
Téléchargez le pilote JDBC MySQL (version 8 ou ultérieure) sur votre ordinateur local.
Dans l'interface Web Cloud Data Fusion, importez le pilote JDBC.
Configurez le pilote JDBC à l'aide des valeurs suivantes :
- Dans le champ Nom, saisissez
mysql
. - Dans le champ Version, conservez la valeur par défaut.
- Dans le champ Nom de la classe, saisissez
com.mysql.jdbc.Driver
.
- Dans le champ Nom, saisissez
Créer la mission
Dans l'interface Web de Cloud Data Fusion, cliquez sur Replication (Réplication).
Cliquez sur
Créer un job de réplication.Sur la page Créer une tâche de réplication, spécifiez le nom d'un job de réplication, puis cliquez sur Suivant.
Configurez la source :
- Sélectionnez MySQL comme source.
- Pour le champ Hôte, saisissez le nom d'hôte de MySQL Server à partir duquel effectuer la lecture.
- Pour Port, saisissez le port à utiliser pour vous connecter au serveur MySQL :
3306
. - Dans le champ Nom du plug-in JDBC , sélectionnez
mysql
ou le nom que vous avez spécifié lors de la configuration du pilote JDBC. - Dans le champ Nom de base de données), saisissez
sakila
. - Dans la section Identifiants, saisissez votre nom d'utilisateur et votre mot de passe pour accéder à MySQL Server.
Cliquez sur Suivant.
Configurez la cible comme suit :
- Sélectionnez la cible BigQuery.
- L'ID du projet et la clé du compte de service sont automatiquement détectés. Conservez les valeurs par défaut.
- Facultatif: dans la section Avancé, configurez le nom, l'emplacement, l'intervalle de charge, le préfixe de la table de préproduction et le comportement en cas de suppression de tables ou de bases de données du bucket de préproduction.
Cliquez sur Suivant.
Si la connexion est établie, une liste d'exemples de tables de base de données Sakila s'affiche. Pour ce tutoriel, sélectionnez quelques tables et événements à répliquer, tels que les événements d'insertion, de mise à jour et de suppression.
(Facultatif) Configurez les propriétés avancées. Pour ce tutoriel, vous pouvez utiliser les paramètres par défaut.
Cliquez sur Suivant.
Sur la page Examiner l'évaluation, cliquez sur Afficher les mappages à côté de l'une des tables pour évaluer les problèmes de schéma, les fonctionnalités manquantes ou les problèmes de connectivité pouvant survenir pendant la réplication. Si des problèmes surviennent, vous devez les résoudre avant de pouvoir continuer. Pour ce tutoriel, si l'une des tables présente des problèmes, revenez à l'étape où vous avez sélectionné des tables et choisissez des tables ou des événements (insertions, mises à jour ou suppressions) sans problème.
Pour en savoir plus sur les conversions de types de données de la base de données source vers la destination BigQuery, consultez la page Types de données de réplication.
Cliquez sur Suivant.
Vérifiez les détails de la tâche de réplication, puis cliquez sur Déployer la tâche de réplication.
Démarrer la tâche
- Sur la page Détails du job de réplication, cliquez sur Démarrer.
La tâche de réplication passe de l'état Provisionnement à Démarrage, puis à l'état En cours d'exécution. En cours d'exécution, la tâche de réplication charge un instantané initial des données de la table que vous avez sélectionnées dans BigQuery. Dans cet état, l'état de la table est répertorié comme Création d'instantanés. Une fois l'instantané initial chargé dans BigQuery, toutes les modifications apportées à la table sont répliquées dans BigQuery et l'état de la table est répertorié en tant qu'instance dupliquée.
Surveiller la tâche
Vous pouvez démarrer et arrêter le job de réplication, examiner sa configuration et ses journaux, et surveiller votre job de réplication.
Vous pouvez surveiller les activités du job de réplication sur la page Informations sur le job de réplication.
Sur la page Réplication, cliquez sur le nom du job de réplication.
Cliquez sur Surveillance.
Afficher les résultats dans BigQuery
La tâche de réplication crée un ensemble de données et une table répliqués dans BigQuery, avec des noms hérités des noms de base de données et de table MySQL correspondants.
Dans la console Google Cloud, accédez à la page "BigQuery".
Dans le panneau de gauche, sélectionnez le nom de votre projet pour développer la liste des ensembles de données.
Pour afficher les résultats, sélectionnez l'ensemble de données
sakila
et choisissez une table.
Pour en savoir plus, consultez la documentation de BigQuery.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Une fois le tutoriel terminé, nettoyez les ressources que vous avez créées sur Google Cloud afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.
Supprimer l'instance Cloud Data Fusion
Suivez les instructions pour supprimer votre instance Cloud Data Fusion.
Supprimer le projet
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Étapes suivantes
- En savoir plus sur la réplication dans Cloud Data Fusion.
- Consultez la documentation de référence de l'API Replication.
- Suivez le tutoriel Répliquer les données de SQL Server vers BigQuery.
- Suivez le tutoriel Répliquer les données d'Oracle vers BigQuery.