Répliquer des données de SQL Server 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 Microsoft SQL Server vers une table BigQuery.

Objectifs

Dans ce tutoriel, vous allez :

  1. Activer la capture de données modifiées (CDC) dans votre base de données SQL Server.
  2. Créer et exécuter une tâche de réplication Cloud Data Fusion.
  3. 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, utilisez le simulateur de coût.

Les nouveaux utilisateurs de peuvent bénéficier d'un essai sans frais. Google Cloud

Lors de l'exécution de la réplication, le cluster Managed Service for Apache Spark 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. 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 le peering de réseau VPC.
    • Lorsque vous créez l'instance, activez la réplication en cliquant Ajouter des accélérateurs et en cochant la Réplication case.
    • Pour l'activer dans une instance existante, consultez Activer la réplication.

Pour en savoir plus sur la mise en réseau, consultez Utiliser HAProxy avec Cloud Data Fusion pour naviguer dans des topologies réseau complexes.

Rôles requis

Pour obtenir les autorisations nécessaires à ce tutoriel, consultez Contrôle des accès avec IAM et Accorder l'autorisation d'utilisateur au compte de service.

Facultatif : Configurer une instance de VM SQL Server

  1. Créez une instance SQL Server.

  2. Téléchargez la base de données AdventureWorks2017 (OLTP) et chargez les données dans votre instance SQL Server.

Activer la CDC dans votre base de données SQL Server

Pour la réplication, activez la capture de données modifiées (CDC) sur la base de données et la table que vous souhaitez répliquer.

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 SQL Server 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 sqlserver.
    • Dans le champ Nom de la classe, saisissez com.microsoft.sqlserver.jdbc.SQLServerDriver.
    • Dans le champ Version, conservez la valeur par défaut.

Créer la mission

  1. Dans l'interface Web 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 Microsoft SQL Server comme source.
    2. Pour le champ Hôte, saisissez le nom d'hôte de SQL Server à lire.
    3. Pour le Port, saisissez le port à utiliser pour vous connecter à SQL Server : 1433.
    4. Dans le champ Nom du plug-in JDBC, sélectionnez sqlserverou 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 AdventureWorks2017.
    6. Dans la section Identifiants, saisissez votre nom d'utilisateur et votre mot de passe pour accéder à SQL 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é , vous pouvez configurer le nom et l'emplacement du bucket Cloud Storage, 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 des tables AdventureWorks2017 s'affiche. Pour ce tutoriel, sélectionnez quelques tables et événements, tels que les événements Insert, Update et Delete.

  9. Facultatif : Configurez les propriétés avancées. Pour ce tutoriel, vous pouvez accepter 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. Vous devez résoudre les problèmes 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, puis sélectionnez une table ou un événement 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 Types de données de réplication.

  12. Cliquez sur Back (Retour).

  13. Cliquez sur Suivant.

  14. 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 dans BigQuery un instantané initial des données de table que vous avez sélectionnées (par exemple, la table "Personnes"). Dans cet état, l'état de la table People est répertorié sous la forme Création d'instantanés. Une fois l'instantané initial chargé dans BigQuery, toutes les modifications apportées à la table People sont répliquées dans BigQuery. 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 SQL Server et des noms de table correspondants.

  1. Ouvrez BigQuery dans la Google Cloud console.

  2. Dans le panneau de gauche, cliquez sur le nom du projet pour développer la liste des ensembles de données.

  3. Sélectionnez l'ensemble de données adventureworks2017, puis sélectionnez une table à afficher.

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é, supprimez les ressources que vous avez créées sur Google Cloud.

Supprimer l'instance de VM

  1. Dans la Google Cloud console, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Cochez la case correspondant à l'instance que vous souhaitez supprimer.
  3. Pour supprimer l'instance, cliquez sur Autres actions, cliquez sur Supprimer, et suivez les instructions.

Supprimer l'instance Cloud Data Fusion

Suivez les instructions pour supprimer votre instance Cloud Data Fusion.

Supprimer le projet

  1. Dans la Google Cloud console, 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 Arrêter pour supprimer le projet.

Étape suivante