Migrer vers la réplication CDC via Pub/Sub

Ce document explique comment migrer de la réplication des données de streaming vers la réplication CDC via Pub/Sub lorsque vous utilisez BigQuery Connector pour SAP.

Si vous êtes un utilisateur existant de BigQuery Connector pour SAP et que vous souhaitez que votre table BigQuery reflète directement les modifications apportées aux tables SAP sources, vous pouvez utiliser la réplication CDC via Pub/Sub. Lorsque vos données changent dans SAP, BigQuery Connector pour SAP capture les modifications et les envoie via Pub/Sub directement à votre table BigQuery, en appliquant les modifications sans doublons.

Avant de commencer

Avant de commencer, découvrez le service Pub/Sub et sa terminologie.

Assurez-vous que vous ou vos administrateurs avez rempli les conditions préalables suivante :

Mettre à jour BigQuery Connector pour SAP

Pour utiliser la réplication CDC via Pub/Sub, mettez à jour votre BigQuery Connector pour SAP vers la version 2.9 ou ultérieure. Pour savoir comment mettre à jour votre connecteur, consultez Mettre à jour BigQuery Connector pour SAP.

Activer les API Google Cloud

Pour la réplication CDC via Pub/Sub, assurez-vous que les API suivantes sont activées :

  • API Pub/Sub
  • API BigQuery
  • API IAM Service Account Credentials

Pour savoir comment activer les API Google Cloud , consultez Activer des API.

Configurer l'authentification

Pour utiliser la réplication CDC via Pub/Sub, en plus des rôles BigQuery existants, vous devez attribuer le rôle d'éditeur Pub/Sub au compte de service utilisé pour l'autorisation. Assurez-vous que le compte de service dispose des rôles suivants :

  • Éditeur Pub/Sub
  • Éditeur de données BigQuery
  • Utilisateur de tâche BigQuery

Pour savoir comment attribuer un rôle, consultez Attribuer un rôle unique.

Pour en savoir plus sur les méthodes d'authentification compatibles et sur la configuration de l'authentification, consultez Configurer l'authentification.

Créer un sujet de lettres mortes

Pour gérer les messages qu'un abonnement BigQuery ne parvient pas à écrire dans la table BigQuery cible, nous vous recommandons de créer un sujet de lettres mortes. Ce file d'attente de lettres mortes sert de file d'attente distincte dans laquelle Pub/Sub publie automatiquement les messages non distribuables après toutes les tentatives.

Procédure de migration

Voici les principales étapes de la migration :

  1. Arrêtez la configuration de la réplication SAP LT Replication Server.
  2. Préparez la table CDC dédupliquée.
  3. Lancez la migration via BigQuery Connector pour SAP.
  4. Configurez les paramètres de réplication.
  5. Activez la configuration de réplication SAP LT Replication Server.
  6. Vérifiez la réplication dans BigQuery.

Arrêter la configuration de réplication SAP LT Replication Server

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction LTRC.

  2. Arrêtez la configuration de réplication SAP LT Replication Server que vous souhaitez migrer.

Préparer la table CDC dédupliquée

Dans BigQuery, vous devez créer une table CDC dédupliquée à partir de votre table de préproduction BigQuery existante. Lorsque vous utilisez la réplication CDC via Pub/Sub, cette table CDC devient la table externe dans BigQuery pour vos données SAP.

Pour préparer une table CDC dédupliquée, procédez comme suit :

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

    Accéder à BigQuery

  2. Cliquez sur Saisir une nouvelle requête.

  3. Créez une table CDC à partir de votre table intermédiaire BigQuery existante :

    1. Dans la zone de texte de l'éditeur de requête, saisissez la requête suivante pour copier la structure de votre table intermédiaire BigQuery existante :

      CREATE TABLE CDC_TABLE LIKE STAGING_TABLE

      Remplacez les éléments suivants :

      • CDC_TABLE : nom de votre table BigQuery CDC.
      • STAGING_TABLE : nom de la table intermédiaire BigQuery.
    2. Cliquez sur Exécuter.

    Cette étape permet de créer une structure de table CDC sans clé primaire.

  4. Modifiez la définition de la table CDC pour ajouter des clés primaires :

    1. Dans la zone de texte de l'éditeur de requête, saisissez la requête suivante pour ajouter des clés primaires :

      ALTER TABLE CDC_TABLE ADD PRIMARY KEY(PRIMARY_KEYS) NOT INFORCED

      Remplacez les éléments suivants :

      • CDC_TABLE : nom de la table CDC.
      • PRIMARY_KEYS : clés primaires sous forme de liste séparée par des virgules. Vous pouvez récupérer la liste des clés primaires à partir de la table SAP source.
    2. Cliquez sur Exécuter.

  5. Dédupliquez la table CDC :

    1. Dans la zone de texte de l'éditeur de requête, saisissez la requête suivante pour dédupliquer la table CDC :

      INSERT INTO CDC_TABLE (COLUMN_NAMES )
      SELECT COLUMN_NAMES FROM STAGING_TABLE WHERE is_deleted = false QUALIFY ROW_NUMBER() OVER( PARTITION BY PRIMARY_KEYS ORDER BY recordstamp DESC ) = 1

      Remplacez les éléments suivants :

      • CDC_TABLE : nom de la table CDC.
      • COLUMN_NAMES : noms de colonnes sous forme de liste séparée par des virgules. Vous pouvez récupérer la liste des noms de colonnes à partir du système source SAP. Vous pouvez également utiliser un astérisque (*) pour sélectionner toutes les colonnes.
      • PRIMARY_KEYS : clés primaires de la table CDC.
      • STAGING_TABLE : nom de la table intermédiaire.
    2. Cliquez sur Exécuter.

Vous pouvez également utiliser l'option Copier dans BigQuery Studio pour copier la structure de la table intermédiaire source et créer une table CDC.

Lancer la migration via BigQuery Connector pour SAP

  1. Dans l'interface utilisateur graphique de SAP, saisissez la transaction /GOOG/SLT_SETTINGS précédée de /n :
    /n/GOOG/SLT_SETTINGS
  2. Dans le menu déroulant du champ Partenaire Google Cloud, sélectionnez BigQuery.
  3. Dans le menu déroulant Tableau des paramètres de l'écran de lancement de la transaction /GOOG/SLT_SETTINGS, sélectionnez Transferts de masse.
  4. Dans le champ Clé de transfert de masse, spécifiez l'ID de transfert de masse de la configuration de réplication SAP LT Replication Server que vous souhaitez migrer.
  5. Cliquez sur l'icône Exécuter.
  6. Dans l'écran Maintenance des paramètres BigQuery – Transferts de masse, cliquez sur Migrer.
  7. Dans la boîte de dialogue de confirmation de la migration, cliquez sur Oui.

Configurer les paramètres de réplication

  1. Dans l'interface utilisateur graphique de SAP, saisissez la transaction /GOOG/SLT_SETTINGS précédée de /n :
    /n/GOOG/SLT_SETTINGS
  2. Dans le menu déroulant du champ Partenaire Google Cloud, sélectionnez BigQuery CDC via Pub/Sub.
  3. Dans le menu déroulant Tableau des paramètres de l'écran de lancement de la transaction /GOOG/SLT_SETTINGS, sélectionnez Transferts de masse.
  4. Dans le champ Clé de transfert de masse, spécifiez l'ID de transfert de masse de la configuration de réplication SAP LT Replication Server que vous avez migrée dans la section Lancer la migration avec BigQuery Connector pour SAP.
  5. Cliquez sur l'icône Exécuter. L'écran Maintenance des paramètres BigQuery – Transferts de masse s'affiche.
  6. Vérifiez que la configuration de réplication SAP LT Replication Server migrée s'affiche.
  7. Pour la configuration de la réplication SAP LT Replication Server, spécifiez les attributs de table suivants :

    1. Dans le champ Nom de la table externe, saisissez le nom de la table CDC que vous avez créée à l'étape précédente Préparer la table CDC dédupliquée.

    2. Pour activer la réplication CDC vers BigQuery via Pub/Sub, cochez la case Repl CPS.

    3. Dans le champ Schéma Pub/Sub, saisissez un nom pour le schéma Pub/Sub. BigQuery Connector pour SAP crée ou met à jour automatiquement un schéma Avro existant pour qu'il corresponde à la définition de la table SAP.

    4. Dans le champ Sujet Pub/Sub, saisissez un nom pour le sujet Pub/Sub dans lequel les messages sont publiés. BigQuery Connector pour SAP crée automatiquement un sujet.

    5. Dans le champ Abonnement Pub/Sub, saisissez le nom de l'abonnement BigQuery qui consomme les messages du sujet Pub/Sub et les écrit dans BigQuery. BigQuery Connector pour SAP crée automatiquement un abonnement et l'associe au thème spécifié à l'étape précédente.

    6. Dans le champ File d'attente des messages non distribués, saisissez le nom du thème Pub/Sub pour les messages non distribués. Ce file d'attente de lettres mortes reçoit les messages que Pub/Sub ne parvient pas à écrire dans BigQuery via l'abonnement BigQuery.

    7. Pour activer la fonctionnalité de capture des données modifiées (CDC) pour le tableau, cochez la case Act. CDC (Activer la CDC).

    8. Pour optimiser les performances des chargements initiaux, cochez la case Cache Val (Validation du cache).

      Lorsque vous sélectionnez ce champ, le connecteur offre des performances maximales pour les transferts de données volumineux. Le système exécute les validations du pipeline Google Cloud à intervalles réguliers et met en cache les résultats. Le connecteur permet de transformer rapidement les données et de les envoyer directement à Pub/Sub. Pour en savoir plus, consultez Validations du cache.

Activer la configuration de réplication SAP LT Replication Server

  1. Dans l'interface utilisateur graphique de SAP, saisissez le code de transaction LTRC.

  2. Activez la configuration.

    L'activation de la configuration crée toutes les ressources Pub/Sub nécessaires et lance la réplication. La table CDC configurée reflète toutes les modifications nouvelles et non traitées.

Vérifier la réplication dans BigQuery

Dans BigQuery, vérifiez que les valeurs de la table CDC sont identiques à celles de votre table SAP source. Pour en savoir plus, consultez Valider la réplication vers BigQuery.

Résoudre les problèmes

Pour en savoir plus sur le diagnostic et la résolution des problèmes que vous pourriez rencontrer lors de la migration de la réplication, consultez le guide de dépannage de BigQuery Connector pour SAP.

Obtenir de l'aide

Si vous avez besoin d'aide pour résoudre des problèmes liés aux étapes de migration, collectez toutes les informations de diagnostic disponibles et contactez Cloud Customer Care. Pour savoir comment contacter le service client, consultez Obtenir de l'aide pour SAP sur Google Cloud.