dimanche, septembre 25, 2005

Les 38 sous-systèmes d'un système ETL



Les catégories d'outils ETL
Actuellement il existe trois catégories d’outils ETL :
  • Engine-based : les transaformations sont executées sur un serveur ETL, disposant en général d’un referentiel. Ce genre de d’outil dispose d’un moteur de transformation ;
  • Database-embedded : les transformations sont intégrées dans la BD ;
  • Code-generators : les transformations sont conçues et un code est généré. Ce code est déployabe indépendemment de la base de données.
Les 38 sous-systèmes d'un système ETL

J'ai traduis librement les 38 sous-systèmes (The 38 Subsystems of ETL) ou modules d'un système ETL tels que Ralph kimball (2004) les a définit.

Il faut bien noter qu'ils couvrent un éventail des fonctionnalités possibles qu'un système ETL devrait assurer.

Le présent travail est utile puis qu'il permet d'aider :

  • aider les personnes qui veulent développer-maison leurs systèmes ETL en utilisant un langage de programmation du fait qu'il va leur permettre de modulariser le développement tout en créant les interfaces necessaires entre les modules.
  • donner une idée claire et précise au gestionnaire de projet ETL sur la portée et les différentes fonctionnalités à mettre en place ( Si l'on désire développer-maison les processus ETL);
  • aider les personnes dans leurs choix d'un outil ou suite ETL (en plus de notre guide ) de telle façon à vérifier si la suite candidate couvrent ces fonctionnalités;

Voici donc la liste de ces 38 sous-systèmes ansi que les grandes fonctionnalités de chaque sous système :

1 - Système d’extraction – [EXTRACTION]
  • Gestionnaire de connections : Connecteurs aux différentes sources de données (ODBC, Native...) et destinations de données.
  • Mécanisme de filtre et de tri à la source : Ce module devrait permettre d’effectuer l’équivalent de l’utilisation de la clause Where dans un SQL. Formatage et conversion de données (Date, nombre...).Stockage de données dans l’environnement ETL (INSERT, UPDATE, DELETE)
2 - Système de détection des changements (Change data capture ou le CDC) CDC : [EXTRACTION]

  • Lecteur des fichiers de log de bases de données. (Sorte de log miner);
  • Comparateur d’enregistrements selon le CRC.

3 - Système d’analyse de données. [EXTRACTION, TRANSFORMATION]
  • Analyse des propriétés des colonnes.
  • Analyse de la structure des données incluant les clés étrangères, les clés primaires, les relations.
  • Analyse des règles de gestion.
4 - Système de Nettoyage de données. [TRANSFORMATION]
  • En général un système à base de dictionnaire pour analyse de noms et adresses des individus et organisations et possiblement les produits et les emplacement géographiques;
  • Déduplication des données (Le même client peut provenir de plusieurs systèmes)
    Utilisation des techniques de logique floue (peut-être vrai, probablement vrai, peut-être faux, probablement faux)
  • Utilisation des techniques de fusion (Merge).
  • Gestion des clés d’affaires au niveau des systèmes sources.

5 - Système de validation de la conformité de données. [TRANSFORMATION]
  • Identification et renforcement des attributs des dimensions conforme;


  • Identification et renforcement des attributs des faits conformes;

  • 6 - Gestionnaire de dimension d’audit. [TRANSFORMATION]
    • Assemblage des metadata concernant le chargement de chaque table de fait dans une dimension d’audit;
    • Attachement de la dimension d’audit à la table de fait comme une dimension normale.
    7 - Système de gestion de la qualité de données. [TRANSFORMATION]
    • Appliquer des tests à la volée à tous les flux de données pour déceler des problèmes de qualité de données;
    • Faire appel au système de nettoyage de données si le cas se présente;
    • Alimenter le système de gestions des erreurs;
    8 - Système de gestion des erreurs. [EXTRACTION, TRANSFORMATION, CHARGEMENT]
    • Surveiller et détecter les erreurs en temps réel;
    • Automatiser la reprise après erreur ;
    • Traiter les messages reçus du système de gestion de la qualité de données.

    9 - Système de gestion des clés de substitution (surrogate key). [TRANSFORMATION]
    • Produire et gérer d’une façon centralisée les clés de substitution (dimension et fait) ;
    • Être indépendant de la base de données.
    10 - Gestionnaire de Slowly Changing Dimension (SCD). [TRANSFORMATION]
    • Gérer les trois types de SCD (Type1 : Écraser, Type 2 : Nouvel enregistrement, Type 3 : Nouvelle colonne)
    11 - Gestionnaire des dimensions arrivant en retard. [TRANSFORMATION]
    • Insérer et mettre à jour des données associées (fait ou dimension) à une dimension que l’on reçoit en retard. Par dimension, on veut dire une un enregistrement de la dimension complète. (Ceci implique que chaque dimension dispose d’un horodate dans le système source qui décrit la date et l’heure de la création de l’enregistrement dans ce dernier).
    12 - Gestionnaire de dimension à hiérarchie fixe. [TRANSFORMATION]
    • Créer et gérer les dimensions à hiérarchie fixe (Une hiérarchie fixe est une hiérarchie dont le nombre de niveau est fixe et ne change pas dans le temps d’exécution). (many-to-one).
    13 - Gestionnaire de dimension à hiérarchie variable. [TRANSFORMATION]
    • Créer est gérer les dimensions à hiérarchie variables (Une hiérarchie variable est une hiérarchie dont la profondeur ou le nombre de niveaux est variable comme par exemple l’organigramme d’un entreprise.
    14 - Gestionnaire de dimensions multivaluées (Brige table). [TRANSFORMATION]
    • Créer et gérer les tables associatives utilisées pour décrire les relations many-to-many entre les dimensions ou entre les faits et les dimensions. (la dimension médicament est multivaluée, car un médecin peut prescrire plusieurs médicaments lors d’une visite médicale).
    • Inclure le facteur de pondération. (Optionnel).
    15 - Gestionnaire des Junk dimensions. [TRANSFORMATION]
    • Créer et gérer les junk dimension (voire différents types de dimensions).
    16 - Système de chargement des tables de faits au niveau de détail le plus fin (grain) [CHARGEMENT]
    • Insérer et mettre à jour les tables de faits au niveau du grain;
    • Manipuler les indexes et les partitions;
    • Utiliser le gestionnaire des lookup. (voire sous-système 19).
    17 - Système de chargement périodique des tables de fait au niveau de détail le plus fin (grain). [CHARGEMENT]
    • Insérer et mettre à jour d’une façon périodique les tables de fait dans le détail du niveau de grain.
    • Manipuler les indexes et les partitions;
    • Utiliser le gestionnaire des lookup.(voire sous-système 19).
    18 - Système de chargement des tables de fait cumulatives au niveau de détail le plus fin (grain). [CHARGEMENT]
    • Mettre à jour des tables de faits cumulatives;
    • Manipuler les indexes et les partitions;
    • Utiliser le gestionnaire des lookup. (voire sous-système 19).
    19 - Gestionnaire des lookup. [TRANSFORMATION]
    • Remplacer les clés d’affaires par les clés de substitution;
    • Être performant lors de la substitution (Multithreaded process)
    20 - Gestionnaire des faits arrivants en retard.
    • Insérer et mettre à jour des enregistrements de fait qui arrivent en retard
    21 - Gestionnaire d’agrégation.
    • Créer et maintenir des structures d’agrégation qui sont utilisées conjointement avec le mécanisme du Query-Rewrite;
    • Inclure les vues matérialisées
    22 - Gestionnaire de cubes multidimensionnels.
    • Créer et gérer la fondation du schéma en étoile pour alimenter les cubes dimensionnels (Cubes OLAP);


  • Préparer les hiérarchies pour alimenter les cubes selon la suite BI utilisée.

  • 23 - Gestionnaire des partitions en temps réel.
    • Maintenir en mémoire seulement les partitions des données des faits qui arrivent depuis la dernière mise à jour.
    24 - Système de gestion des dimensions.
    • Répliquer les dimensions conformes à partir d’un emplacement centralisé vers le fournisseur des tables de fait. (Voir le sous-système 25).
    25 - Système de gestion des tables de faits.
    • Utiliser les dimensions conformes transmises par le système de gestion des dimensions (24).
    • Substituer les clés étrangères;
    • Vérifier les versions des dimensions;
    26 - Ordonnanceur des processus ETL.
    • Ordonnancer et lancer les processus ETL;
    • Être capable de coordonner les processus en tenant compte de différentes conditions de succès ou d’échec de processus;
    • Produire des alertes et envoyer des messages.
    27 - Système de surveillance du flux des processus ETL.
    • produire des tableaux de bord et des rapports d’audit pour tous les processus ETL en exécution incluant les horodates, les nombres d’enregistrements traités, les erreurs, les actions réalisées par le moteur ETL ( rejet des enregistrements non concordant lors des lookups...).
    28 - Système des recouvrement et reprise.
    • Reprendre l’exécution d’un processus au même endroit que celui-ci a planté;
    • Offrir la possibilité d’arrêter (selon une condition) un processus ETL et le ré-exécuter.
    29 - Gestionnaire de parallélisme et de pipelines.
    • Offrir les avantages d’utiliser des processeurs multiples ou l’informatique en grille (Grid computing);
    • Offrir la possibilité de transmission continue de données (pipeline);
    • Offrir le parallélisme automatique et conditionnel des processus ETL.
    30 - Système de gestion des erreurs.
    • Gérer les erreurs;
    • Aviser les personnes concernées;
    • Journaliser les erreurs;
    • Système de gestion des erreurs.
    31 - Système de contrôle des versions.

    • Gérer les versions du projet ETL;
    • Réserver et replacer les composantes du projet ETL ( Chekc-out, ckeck-in...);
    • Comparaison des différentes versions d’un projet ETL.
    32 - Système de déploiement.
    • Migration de l’environnement de développement vers celui de test et de production;
    • S’intégrer ou intégrer le système de contrôle de version pour;
    • Configurer les connexions pour la version;
    • Offrir la possibilité d’exécuter les processus ETL en mode vérification ( Check-only)
    33 - Système d’analyse de correspondance et de dépendance.
    • Afficher les sources de données et les transformations subies par un élément de données spécifique (une colonne);
    • Analyser l’impact de changer un élément de données;
    34 - Gestionnaire de conformité aux règles.
    • Prouver que les données et les transformations n’ont pas changé et sont conformes aux règles établies;
    • Surveiller les accès et les modifications aux données pour prouver que les données et les transformations n’ont pas changées.
    35 - Système de sécurité.
    • Administrer la sécurité sur les données et les métadonnées des processus ETL;
    • Offrir la possibilité de prouver que la version d’un processus ETL n’a pas changé;
    • Afficher qui a effectué les changements.
    36 - Système de sauvegarde.
    • Sauvegarder les données et les métadonnées pour le recouvrement, la sécurité et les besoins de conformité.
    37 - Gestionnaire de référentiel du méta-données.
    • Collecter et maintenir les méta-données concernat le projet ETL, incluant les processus ETL, les transformations...
    38 -Système de gestion de projet.
    • Surveiller toutes les activités de développement, de test du projet ETL;

    2 commentaires:

    Anonyme a dit...

    Merci, je trouve ce que vous avez met est très intéressant, il est a al fois général bref et détail ;
    Je vous souhaite bon continuation et tt le succès dans votre carrière .
    Cordialement
    Imed
    Etudiant en IIDEE à Lyon2

    A. ELOMARI a dit...

    merci