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)
- 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.
- 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;
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.
- 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;
- 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.
- Gérer les trois types de SCD (Type1 : Écraser, Type 2 : Nouvel enregistrement, Type 3 : Nouvelle colonne)
- 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).
- 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).
- 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.
- 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).
- Créer et gérer les junk dimension (voire différents types de dimensions).
- 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).
- 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).
- Mettre à jour des tables de faits cumulatives;
- Manipuler les indexes et les partitions;
- Utiliser le gestionnaire des lookup. (voire sous-système 19).
- Remplacer les clés d’affaires par les clés de substitution;
- Être performant lors de la substitution (Multithreaded process)
- Insérer et mettre à jour des enregistrements de fait qui arrivent en retard
- 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
-
Créer et gérer la fondation du schéma en étoile pour alimenter les cubes dimensionnels (Cubes OLAP);
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.
- Répliquer les dimensions conformes à partir d’un emplacement centralisé vers le fournisseur des tables de fait. (Voir le sous-système 25).
- 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;
- 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.
- 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...).
- 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.
- 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.
- Gérer les erreurs;
- Aviser les personnes concernées;
- Journaliser les erreurs;
- Système de gestion des erreurs.
- 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.
- 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)
- 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;
- 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.
- 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.
- Sauvegarder les données et les métadonnées pour le recouvrement, la sécurité et les besoins de conformité.
- Collecter et maintenir les méta-données concernat le projet ETL, incluant les processus ETL, les transformations...
- Surveiller toutes les activités de développement, de test du projet ETL;
2 commentaires:
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
merci
Publier un commentaire