Répliquer des données de MySQL vers BigQuery


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 :

  1. Déployer votre base de données MySQL sur Compute Engine.
  2. Configurer votre base de données MySQL pour activer la réplication
  3. Créez et exécutez une tâche de réplication Cloud Data Fusion.
  4. 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. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Lors de l'exécution de la réplication, le cluster Dataproc vous est facturé et des frais de traitement vous sont facturés pour BigQuery. Pour optimiser ces coûts, nous vous recommandons vivement d'utiliser les tarifs forfaitaires de BigQuery.

Avant de commencer

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.

    Enable the APIs

  8. Créez une instance Cloud Data Fusion publique dans la 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 la section Activer la réplication.

Rôles requis

Pour obtenir les autorisations dont vous avez besoin pour ce tutoriel, consultez Contrôle des accès avec IAM et Accorder une autorisation à un utilisateur de compte de service.

Installer MySQL dans Compute Engine

  1. Téléchargez une image Docker de serveur MySQL.

  2. Importez votre image Docker dans Artifact Registry.

  3. Déployez votre image Docker sur une nouvelle instance de VM.

  4. Sur la page Disques de Compute Engine, définissez la taille du disque sur 500 GB, puis redémarrez la VM.

    Accéder à la page Disques

  5. Créez un pare-feu pour l'instance de VM.

  6. 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 une tâche de réplication Cloud Data Fusion

Importer le pilote JDBC

  1. Téléchargez le pilote JDBC MySQL (version 8 ou ultérieure) sur votre ordinateur local.

  2. Dans l'interface Web de 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.

Créer la tâche

  1. Dans l'interface Web de Cloud Data Fusion, cliquez sur Réplication.

  2. Cliquez sur  Créer une tâche de réplication.

  3. Sur la page Créer une tâche de réplication, spécifiez un nom de tâche de réplication, puis cliquez sur Suivant.

  4. Configurez la source:

    1. Sélectionnez MySQL comme source.
    2. Pour le champ Hôte, saisissez le nom d'hôte de MySQL Server à partir duquel effectuer la lecture.
    3. Pour Port, saisissez le port à utiliser pour vous connecter au serveur MySQL : 3306.
    4. 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.
    5. Dans le champ Nom de base de données), saisissez sakila.
    6. Dans la section Identifiants, saisissez votre nom d'utilisateur et votre mot de passe pour accéder à MySQL Server.
  5. Cliquez sur Suivant.

  6. Configurez la cible comme suit :

    1. Sélectionnez la cible BigQuery.
    2. L'ID du projet et la clé du compte de service sont automatiquement détectés. Conservez les valeurs par défaut.
    3. 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 lorsque des tables ou des bases de données sont supprimées.
  7. Cliquez sur Suivant.

  8. 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.

  9. Facultatif: configurez les propriétés avancées. Pour ce tutoriel, vous pouvez utiliser les paramètres par défaut.

  10. Cliquez sur Suivant.

  11. Sur la page Examiner l'évaluation, cliquez sur Afficher les mappages à partir de l'une des tables pour obtenir une évaluation des problèmes de schéma, des fonctionnalités manquantes ou des problèmes de connectivité pouvant se produire pendant la réplication. Si des problèmes surviennent, vous devez les résoudre pour 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) ne présentant pas de 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 section Types de données de réplication.

  12. Cliquez sur Suivant.

  13. Examinez 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 Informations sur la tâche de réplication, cliquez sur Démarrer.

La tâche de réplication passe de l'état Provisionnement à Démarrage à 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 la tâche de réplication, examiner sa configuration et ses journaux, et surveiller sa tâche.

Vous pouvez surveiller les activités de la tâche de réplication depuis la page Informations sur la tâche de réplication.

  1. Sur la page Réplication, cliquez sur le nom de la tâche de réplication.

  2. 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 de la base de données MySQL et des noms de table correspondants.

  1. Dans la console Google Cloud, accédez à la page "BigQuery".

    Accéder à BigQuery

  2. Dans le panneau de gauche, sélectionnez le nom de votre projet pour développer la liste des ensembles de données.

  3. Pour afficher les résultats, sélectionnez l'ensemble de données sakila, puis 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 surGoogle 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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Étape suivante