The extract, transform, and load (ETL) phase of the data warehouse development life cycle is far and away the most difficult, time-consuming, and labor-intensive phase of building a data warehouse. Done right, companies can maximize their use of data storage; if not, they can end up wasting millions of dollars storing obsolete and rarely used data. Ralph kimball (2004)
jeudi, octobre 10, 2013
lundi, janvier 07, 2013
Quel background pour un rôle ETL ?
Que vous vouliez devenir architecte, développeur, ou tout autre rôle ETL, un bon background technique est un atout très considérable.
Lorsque vous travaillez avec un ETL , certes il vous permet de réaliser rapidement des tâches autrefois trop complexe. Il vous permet de gagner beaucoup de temps de développement et de tests. Il vous aide aussi, en utilisant ses différents assistants, de réaliser des fonctionnalités bien spécifiques au domaine de l intégration de données. Par contre il est très important de bien cerner les concepts tels de base ou encore avancés afin de pouvoir optimiser les traitements, maintenir les programmes, expliquer les réactions du système.
Il ne suffit pas de savoir comment réaliser des jobs, des traitements... cela prend plus que la connaissance d une technologie... C'est tout un métier.
Ceci dit, ce n'est pas vous décourager, au contraire c'est pour vous permettre de bien apprécier votre job, et découvrir combien c'est valorisant pour soit qu'on met en place un système ETL qui fonctionne à merveille, surtout que toute la brique de restitution en dépend totalement pour afficher des indicateurs corrects.
Ce qui est malheureux dans ce métier, c'est que la reconnaissance n'est pas toujours au rendez-vous. Les beaux tableaux de bord sont mieux appréciés que tout le travail d'ETL en amont peu importe sa robustesse et sa qualité.
La je reviens à l'analogie faite par ralph kimball en comparant l'ETL à une cuisine. En terme de tâches réalisées, l'analogie me semble correcte, par contre en terme de reconnaissance cette analogie ne tient plus. Quand on mange un bon plat, on pense automatiquement au cuisinier, par contre lorsqu'on consomme un bon rapport ( un utilisateur de rapport est souvent appelé consumer) on ne pense jamais à l'équipe ETL derrière.
Bon, revenons à notre sujet de départ, oui cela prend des compétences spécifiques pour jouer un rôle dans l'équipe ETL, j'en présente quelques unes qui ont une grande importance :
- la maîtrise de sql.
- la maîtrise des concepts ETL ( ce blog contient plusieurs de ces concepts).
- la maîtrise des concepts de la modélisation dimennsionnelle ( j'ai déjà commencé à mettre des articles concernant la mdd).
Je vais essayer de vous expliquer chacune de ces compétences dans les articles futures.
Bon courage.
samedi, janvier 05, 2013
Surrogate Key (Clé de substitution)
Tout système ETL doit donc permettre de gérer un minimum de spécificités du modèle dimensionnel. Référez-vous au 38 sous-systèmes d'un système ETL dans l'article suivant :
Les 38 sous-systèmes d'un système ETL
Parmi les sous-systèmes d'un ETL on retrouve le sous-système 9 intitulé Système de gestion des clés de substitution (surrogate key).
Revenons maintenant aux définitions, et essayons de comprendre qu'est ce qu'une clé de substitution (Surrogate Key) :
La Définition
A quoi sert une clé de substitution ?
Remplacer la clé artificielle ou naturelle : Effectivement une clé de substitution remplace la clé artificielle en terme d’utilisation, ce n’est plus la clé naturelle qui sera utilisé pour faire les jointures avec les tables de faits ou les autres tables de dimension (niveaux hiérarchiques dans le cas d’une dimension en flocons de neiges);Compléter l’information : La clé de substitution n’a aucun sens en terme d’affaire, elle est utilisée dans l’entrepôt de données seulement ! et on aura toujours besoin de la clé artificielle ou naturelle dans la dimension pour pouvoir faire la correspondance entre l’élément de dimension (un client par exemple) dans l’entrepôt de données et l’élément de la table des clients dans le système opérationnel.
Les avantages
Performance : Accélère l’accès aux données du moment ou l’on va utiliser un index numérique vu que le type de données de la clé de substitution est numérique.Indépendance du système source : On ne peut garantir que la clé d’affaire ne change pas dans les systèmes sources.
Historique des changements et granularité infinie : Si l’on désire garder l’historique des changements de la dimension selon certains critères (SCD) nous devons gérer la clé de substitution. Nous nous retrouverons facilement avec plusieurs enregistrements de la même clé d’affaire dans la dimension.
ETL vs ELT
La différence entre les deux approches ETL et ELT est plus qu’une simple permutation de l’ordre des lettres, il s’agit plutôt d’un changement important dans les méthodes d’alimentation des entrepôts de données.
Qu'est ce que l'ETL ?
Il s’agit de l’approche dite traditionnelle pour alimenter un entrepôt de données. Les outils qui s’inscrivent dans cette logique disposent en général d’un moteur (engine) et sont installés sur des serveurs distincts. Tous les traitements de transformation se font par le biais du moteur ETL. On peut citer par exemple Informatica, IBM DataStage, SAP BODI...C’est l’approche la plus étendue actuellement.Qu'est ce que l'ELT ?
L’approche d’ELT (Extraction, Loading, Transformation), génère du code SQL natif pour chaque moteur de base de données impliqué dans les processus - sources et cibles. Cette approche profite des fonctionnalités de chaque base de données, et les requêtes de transformation doivent respecter la syntaxe spécifique à l’SGBD. C’est l’approche de Genio (OpenText) et de sunopsis (Actuellement Oracle Data Integrator).Et si l'on mixait les deux approches ?
Effectivement Business Object avec la suite Data integrator offre les avantages des deux approches