Modélisation des réplications dans un data warehouse SAP® Sybase® IQ

SAP® Sybase® IQ (IQ) est un serveur d'aide à la décision très performant conçu spécifiquement pour le data warehousing. Dans la mesure où IQ n'est pas optimisé pour l'insertion, la mise à jour et la suppression ligne par ligne, vous devez mettre en oeuvre une base de données intermédiaire afin de répliquer des données depuis des bases de données OLTP vers un data warehouse IQ.

PowerAMC peut automatiser la création d'une base de données intermédiaire. Vous créez une réplication standard avec Sybase IQ comme base de données distante, puis une simple commande vous permet de créer les artefacts requis pour mettre en oeuvre la base de données intermédiaire.

  1. Créez un MPD afin de représenter la structure de votre base de données principale. Vous pouvez procéder au reverse engineering d'une base de données existante en sélectionnant Fichier > Reverse engineering > Base de données.
  2. Sélectionnez Fichier > Nouveau modèle pour afficher la fenêtre Nouveau modèle, sélectionnez Modèle de Fluidité de l'Information dans la liste Type de modèle, puis Diagramme de fluidité de l'information dans le volet Diagramme.
  3. Cliquez sur le bouton Sélectionner des extensions pour afficher la boîte de dialogue Sélection d'extensions, cliquez sur le sous-onglet Général, sélectionnez la version appropriée de Replication Server et le fichier d'extension IQ Staging, puis cliquez sur OK pour revenir à la boîte de dialogue Nouveau modèle.
  4. Cliquez sur OK pour créer un MFI, qui affiche un diagramme vide.
  5. Cliquez sur l'outil Replication Server dans la Boîte à outils, puis cliquez au centre du diagramme pour créer un processus de réplication. Pointez sur le symbole de Replication Server, cliquez le bouton droit de la souris, puis sélectionnez Assistant Réplication pour afficher un Assistant qui va vous guider dans la configuration de Replication Server pour répliquer des données entre vos bases de données source et cible (voir Réplication de données à l'aide de l'Assistant Réplication).

    La base de données source peut être n'importe quelle base de données prise en charge, la base de données cible doit être Sybase IQ.

    Lorsque vous cliquez sur OK pour fermer l'Assistant, PowerAMC va créer des bases de données source et distante dans votre MFI, de même que les articles, publications, et souscriptions requis par Replication Server pour gérer la réplication des données entre elles :



  6. Affichez la feuille de propriétés de la base de données IQ, sélectionnez l'onglet Staging Database, puis spécifiez les propriétés appropriées :

    Options de base de données intermédiaire

    Description

    Version de Sybase ASE

    Version de la base de données intermédiaire Sybase ASE automatiquement créée.

    Nom de la base de données

    Nom du MPD de la base de données intermédiaire.

    Code de la base de données

    Code du MPD de la base de données intermédiaire.

    Nom du serveur

    Nom du serveur de la base de données intermédiaire.

    Code du serveur

    Code du serveur de la base de données intermédiaire.

    Utiliser une table d'insertion dans Sybase IQ

    Indique qu'une table d'insertion intermédiaire sera utilisée dans Sybase IQ pour copier les lignes insérées depuis la base de données intermédiaire afin de prendre en charge la transformation au sein de Sybase IQ.

    Prendre en charge la mise à jour dans Sybase IQ

    Indique qu'une instruction de mise à jour provoquera une mise à jour dans Sybase IQ. Si vous ne cochez pas cette case, les instructions de mise à jour seront remplacées par des instructions de suppression et d'insertion.

    Code d'insertion de table

    Template pour définir le code d'une insertion de table.

    Code de mise à jour de table

    Template pour définir le code d'une mise à jour de table.

    Code de suppression de table

    Template pour définir le code d'une suppression de table.

    Utiliser des procédures stockées pour les chaînes de fonction

    Crée des procédures stockées dans la base de données intermédiaire et les utilise dans les chaînes de fonction RepServer.

    Code de procédure d'insertion

    Template de définition du code de procédures stockées d'insertion.

    Code de procédure de mise à jour

    Template de définition du code de procédures stockées de mise à jour.

    Code de procédure de suppression

    Template de définition du code de procédures stockées de suppression.

  7. Cliquez sur OK pour revenir au diagramme, sélectionnez Outils > Vérifier le modèle pour vous assurer que votre modèle ne contienne aucune erreur, puis enregistrez ce modèle comme référence.
  8. Sélectionnez Outils > Générer un Modèle de Fluidité de l'Information pour afficher la boîte de dialogue de génération.
  9. Cliquez sur le bouton Permettre les transformations sur l'onglet Détails, puis cliquez sur l'onglet Extensions et sélectionnez l'extension IQ Staging.
  10. Cliquez sur OK pour lancer la génération d'un nouveau MFI qui recrée la transformation d'origine, mais avec une base de données intermédiaire ASE ainsi qu'un processus de transformation IQ Staging inséré entre le serveur de réplication et la base de données IQ pour représenter le transfert de données entre la base de données intermédiaire et IQ :


    La définition RepServer est modifiée, et elle n'est plus directement connectée à Sybase IQ mais à la base de données intermédiaire Sybase ASE, et certaines chaînes de fonction permettant de répliquer des données dans la base de données intermédiaire Sybase ASE ont été ajoutées, afin d'effectuer les tâches suivantes :

    • Créer une base de données Sybase ASE avec la même structure que Sybase IQ.

    • Créer les procédure stockées utilisées par la chaînes de fonction RepServer.

    • Changer la connexion RepServer à la base de données intermédiaire.

    • Créer ou modifier les chaînes de fonction RepServer pour appeler les procédures stockées.

    • Créer des tables intermédiaires dans Sybase IQ afin de déplacer les données d'une base de données intermédiaire vers des tables temporaires dans Sybase IQ avant de déplacer les données dans des tables Sybase IQ.

    • Créer une procédure stockée dans Sybase IQ pour charger les données depuis la base de données intermédiaire dans Sybase IQ.

    • Créer une procédure stockée dans la base de données intermédiaire pour nettoyer les données transférées.

    Remarque : Si vous devez changer le moindre aspect de vos définitions de réplication, vous devez le faire dans le MFI d'origine, puis procéder à une régénération afin de recréer la base de données intermédiaire. Toute modification des définitions de réplication dans le MFI généré ne sera pas reflétée avec précision dans la base de données intermédiaire.