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. Activez la capture de données modifiées (CDC, Change Data Capture) dans votre base de données SQL Server.
  2. Créer et exécuter un job 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 à 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.

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

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'un 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 un job 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 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 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 sqlserver 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 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 en cas de suppression de tables ou de bases de données.
  7. Cliquez sur Suivant.

  8. Si la connexion aboutit, une liste de tables AdventureWorks2017 s'affiche. Pour ce tutoriel, sélectionnez quelques tables et événements, tels que 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 à 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. Vous devez résoudre les problèmes avant de 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 ne présentant aucun 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 Back (Retour).

  13. Cliquez sur Suivant.

  14. 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 Informations sur le 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. Dans l'état 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ée (par exemple, la table "People") dans BigQuery. 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" (Personnes) sont répliquées dans BigQuery. La table est indiquée comme étant Réplication.

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

Le job 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 SQL Server correspondants.

  1. Ouvrez BigQuery dans la console Google Cloud.

  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 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 console Google Cloud, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Cochez la case correspondant à instance que vous souhaitez supprimer.
  3. Pour supprimer l'instance, cliquez sur Autres actions , cliquez sur Supprimer, puis 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 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