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éer et exécuter un job 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.

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

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activer les API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Activer les API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activer les API Cloud Data Fusion, BigQuery, and Cloud Storage.

    Activer les API

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

  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 et 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 un job 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 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 mission

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

  2. Cliquez sur Créer un job de réplication.

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

  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 en cas de suppression de tables ou de bases de données du bucket de préproduction.
  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 à 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.

  12. Cliquez sur Suivant.

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

  1. Sur la page Réplication, cliquez sur le nom du job 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 des noms de base de données et de table MySQL 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 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

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes