Académique Documents
Professionnel Documents
Culture Documents
ETL, Les Questions À Se Poser: Yazid Grim
ETL, Les Questions À Se Poser: Yazid Grim
D-normalises : dans un DW (Data Warehouse), avoir des doublons n'est pas important, avoir un schma
en troisime forme normale est mme dconseill. Il faut que les donnes apparaissent l o elles doivent
apparatre.
Nettoyes : dans un systme de production, les utilisateurs entrent les donnes. Les risques d'erreurs sont
l : entrer la rue au lieu du pays, crire Canoda au lieu de Canada. Ces erreurs ont des rpercutions directes
sur les analyses (les commandes avec Canoda comme pays ne feront pas partie des commandes faites au
Canada). Il faut pouvoir dtecter et corriger ces erreurs.
Charges en DW : c'est l'tape la plus complexe, il s'agit ici d'ajouter les nouvelles lignes, voir si des lignes
ont t modifies et faire une gestion d'historique, voir si des lignes ont t supprimes et le mentionner dans
l'entrept, tout en faisant attention de ne pas charger des donnes en double.
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 5 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://grim.developpez.com/articles/concepts/etl/
III - Conception d'un ETL
Si vous cherchez des mthodes de conceptions d'ETL, et bien il n'y en a pas. Chaque entreprise possde ses propres
systmes, sa propre logique de fonctionnement, sa propre culture. Un ETL va essayer de prendre toutes les donnes
de l'entreprise et les mettre dans un DW. Dans ce chapitre, nous essayerons plutt de voir les questions se poser
pour bien cerner les spcificits de notre ETL.
III-A - Comment procder ?
Deux cas sont prendre en compte, le chargement initial et les chargements incrmentiels.
Le chargement initial est effectu au tout premier chargement de l'entrept et dans des cas spciaux comme aprs
la perte des donnes de l'entrept. Dans ce cas, on charge toutes les donnes de l'entreprise dans l'entrept.
Le chargement incrmentiel est le fait d'ajouter des donnes un entrept existant, c'est l'opration qui va se rpter
dans le temps (chaque jour par exemple). Il faudra faire attention dans ce cas ne charger que les informations
nouvelles, et ne pas charger deux fois la mme information.
III-B - Comment sont mes sources ?
Avant de faire un ETL, il faut bien tudier les sources de donnes. En effet, c'est d'aprs les sources que les stratgies
de chargement vont se faire.
Il est noter que le rapatriement des donnes peut se faire de trois faons diffrentes :
Push : dans cette mthode, la logique de chargement est dans le systme de production, il " pousse " les
donnes vers le Staging quand il en a l'occasion. L'inconvnient est que si le systme est occup, il ne
poussera jamais les donnes.
Pull : au contraire de la mthode prcedente, le Pull " tire " les donnes de la source vers le Staging.
L'inconvnient de cette mthode est qu'elle peut surcharger le systme s'il est en cours d'utilisation.
Push-Pull : vous le devinez, c'est le mlange des deux mthodes. La source prpare les donnes envoyer
et prvient le Staging qu'elle est prte. Le Staging va rcuprer les donnes. Si la source est occupe, le
Staging fera une autre demande plus tard.
Staging est le terme dsignant l'endroit o se fait l'ETL. C'est une machine ddie ce
travail dans la plupart des cas. Considrez le Staging comme une zone tampon entre les
sources de donnes et l'entrept.
Une fois la bonne stratgie choisie (en fonction de vos spcificits en entreprise), il est temps de se poser les questions
fondamentales qui dessineront les caractristiques de votre systme :
Comment y accder ?
Quel est le temps d'un chargement incrmentiel moyen, ai-je la possibilit de recharger des donnes dans le
cas o mon processus de chargement choue ?
Quelle politique vais-je utiliser pour le traitement des erreurs (fichier log, table dans BD) ?
Comment montrer l'utilisateur final que des donnes n'ont pas t totalement charges cause d'erreurs ?
III-D - Comment charger les donnes dans l'entrept ?
La dernire mission de l'ETL, charger les donnes dans le DW. Le point critique dans cette tape est qu'il faut
avoir, tout moment, un contrle total sur les processus. Exemple : pendant un projet de construction d'entrept,
vous commencez automatiser les chargements incrmentiels. Mais un jour, la machine plante au beau milieu du
chargement, c'est--dire qu'une partie des donnes a t charge et une autre non (c'est du vcu). Que faire ??
Et bien si vous n'aviez pas prvu cela, pauvre de vous ! Vous n'avez qu' vider la base et la recharger, avec toutes
les pertes d'historique que cela implique, ou sinon prendre le temps et chercher une une, les informations qui ont
t charges.
Voici les questions qu'il faut se poser pour cette tape :
Taille de l'entreprise : j'entends par l taille des structures. S'il s'agit d'une multinationale avec des milliers
de succursales travers le monde, on ira plus pour une solution complte et, en gnral, trs coteuse. Si on
est une PME, on optera plutt pour des solutions payantes (comme Microsoft Integration Services) assurant
un certain niveau de confort sans impliquer des mois de dveloppement.
Taille de la structure informatique : une entreprise avec une grosse structure informatique pourra se
permettre d'opter pour une solution Open Source et la personnaliser selon les besoins de l'entreprise. Une
PME ne pourra srement pas faire cela.
Culture d'entreprise : videment, si une entreprise une culture de l'Open Source trs prononce,
l'application d'une solution payante risquera fortement de subir un phnomne de rejet.
Maturit des solutions : il existe des solutions bien rodes, qui fonctionnent bien et qui bnficient d'un
bon retour d'exprience, c'est en gnral les plus chres (Business Objects, Oracle, SAP). Il existe d'autres
solutions, moins matures, bnficiant d'un " effet de mode " et qui semble offrir de trs bonnes performances
(Microsoft). Enfin, il existe des solutions Open Source qui, de part leur jeunesse, n'offrent pas autant de
flexibilit et de facilit de mise en #uvre que les solutions prcdemment cites. Il faudra compter avec le
temps pour que ces solutions mergent et arrivent un niveau de maturit acceptable#
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 9 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://grim.developpez.com/articles/concepts/etl/
V - Conclusion
Une image valant mille mots, je tiens terminer cet article par un petit schma montrant la position et un rsum des
fonctionnalits d'un ETL dans un environnement dcisionnel.
ETL
Le secret d'un bon ETL rside dans sa compltude et dans son exhaustivit dans la prise en charge des donnes
depuis les sources de donnes jusqu' l'entrept.
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 10 -
Ce document est issu de http://www.developpez.com et reste la proprit exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise l'obtention pralable de l'autorisation de l'auteur.
http://grim.developpez.com/articles/concepts/etl/