Réplication de données à l'aide de SQL

Objective

After completing this lesson, you will be able to répliquez les données à l'aide d'instructions SQL.

Instructions SQL pour gérer la réplication

Pour implémenter la réplication, SAP vous recommande de définir des fichiers source dans votre projet pour décrire les options de réplication, puis de déployer ces fichiers pour générer les objets d'exécution dans la base de données. Nous aborderons cette approche ultérieurement.

Pour l'instant, nous allons implémenter la réplication en exécutant des instructions SQL dans la console SQL de SAP Web IDE pour SAP HANA. Travailler de cette manière nous aide à comprendre chaque étape individuelle dans la configuration de la réplication.

Pour cette approche, vous devez d'abord créer une table virtuelle basée sur les données source. Vous avez également besoin d'une table cible dans SAP HANA Cloud.

Une fois que vous avez créé ces objets, vous pouvez exécuter les étapes suivantes :

  1. Créez l'abonnement distant pour enregistrer la table cible en tant que récepteur des données source.

    Code Snippet
    123
    CREATE REMOTE SUBSCRIPTION <subscription_name> ON <virtual_table_name> TARGET <target_table_name>;

  2. Mettez en file d'attente l'abonnement distant (sauf pour RTR) pour créer tous les objets nécessaires dans la source. (Déclencheurs, Tables fantômes, etc.)

    Code Snippet
    1
    ALTER REMOTE SUBSCRIPTION <subscription_name> QUEUE;

  3. Effectuez une reprise des données initiale (sauf pour RTR) si vous voulez obtenir les données source existantes.

    Code Snippet
    12
    ‌INSERT INTO <target_table_name> (SELECT * FROM <virtual_table_name>);

  4. Distribuez l'abonnement pour lancer la réplication réelle des modifications.

    Code Snippet
    1
    ALTER REMOTE SUBSCRIPTION <subscription_name> DISTRIBUTE;

Après avoir ajouté des lignes à la source, vous pouvez interroger la table cible pour rechercher les nouvelles données.

Commencez par lancer cette vidéo pour voir un exemple de connexion Smart Data Integration (SDI) :

Lancez maintenant la vidéo suivante pour voir un exemple à l'aide de la réplication de table distante, à l'aide d'une connexion SDA (accès intelligent aux données) :

Fonctionnalités supplémentaires

Vous pouvez choisir de répliquer uniquement certaines colonnes et/ou partitions spécifiques. Nous appelons cela une sous-réplication.

Vous devez exécuter les instructions suivantes pour créer/modifier l'abonnement distant :

  • Pour une sous-réplication basée sur des colonnes :
    Code Snippet
    12
    CREATE REMOTE SUBSCRIPTION <subscription_name> {AS SELECT (<column_list>) FROM <virtual_table_name> TARGET TABLE <target_table_name>};
  • Pour une sous-réplication basée sur des partitions :
    Code Snippet
    12
    ALTER REMOTE SUBSCRIPTION <subscription_name> { PARTITIONS ( <partition_number> [ {, <partition_number> }...] ) | ALL PARTITIONS }

Les autres étapes restent les mêmes.

Lancez cette vidéo pour savoir comment configurer la sous-réplication :