Vous êtes sur la page 1sur 10

ETL, les questions se poser

par Yazid Grim (Business Intelligen(ce))


Date de publication :
Dernire mise jour :
Nous savons tous maintenant ce qu'est un entrept de donnes et comment le
modliser (pour ceux qui ne savent pas, retour la case dpart). Intressons
nous maintenant comment l'alimenter depuis les donnes sources. Cet
article, sous forme d'une suite de questions, prsente une check-list que le
lecteur pourra utiliser avant, pendant et aprs la mise en oeuvre d'un ETL pour
l'alimentation d'un entrept de donnes.
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 2 -
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/
I - Introduction
II - Dfinitions
III - Conception d'un ETL
III-A - Comment procder ?
III-B - Comment sont mes sources ?
III-C - Comment traiter les donnes ?
III-D - Comment charger les donnes dans l'entrept ?
III-E - Et les mtas donnes dans tout a !?
III-F - Et comment contrler cet ETL ?
IV - Outils d'ETL
IV-A - lments prendre en compte lors du choix de l'ETL
V - Conclusion
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 3 -
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/
I - Introduction
ETL, acronyme de Extraction, Transformation, Loading, est un systme de chargement de donnes depuis
les diffrentes sources d'information de l'entreprise (htrognes) jusqu' l'entrept de donnes (modles
multidimensionnels). Ce systme ne se contente pas de charger les donnes, il doit les faire passer par un tas de
moulinettes pour les d-normaliser, les nettoyer, les contextualiser, puis de les charger de la faon adquate. Nous
verrons par la suite ce que chaque mot veut dire.
Il est important de savoir que la ralisation de l'ETL constitue 70% d'un projet dcisionnel en moyenne. Et ce n'est pas
pour rien, ce systme est complexe et ne doit rien laisser s'chapper, sous peine d'avoir une mauvaise information
dans l'entrept, donc des donnes fausses, donc inutilisables.
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 4 -
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/
II - Dfinitions
Avant de commencer, visualisez le schma d'un entrept et sa faon de fonctionner (grer l'historique, dimensions,
faits, etc.). Le but du jeu est de faire rentrer toutes les donnes de l'entreprise dans ce modle, les donnes doivent
donc tre :

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.

Contextualises : imaginez un systme de production o les informations sur l'activit du personnel


sont enregistres, et un systme de RH ou les informations personnelles, comptables des employs sont
stockes. Un entrept de donnes possde une vision universelle, un employ est un employ, et il n'y aura
qu'une seule dimension "Employ" avec toutes les informations le concernant.

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 :

Quelle est la disponibilit de mes sources de donnes ?

Comment y accder ?

Comment faire des chargements incrmentiels ?

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 dans le cas d'chec de chargement ?


Ces questionnements vous aideront tablir une stratgie de chargement des donnes sources dans le Staging.
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 6 -
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-C - Comment traiter les donnes ?
Maintenant que les donnes sont dans le Staging, va falloir nettoyer tout a ! C'est l'opration la plus importante (et
la plus casse-tte) du processus. En effet, une erreur dans un champ affecte forcment les analyses (exemple de
Canada et Canonda). Voici les questions se poser cette tape :

Quels sont les champs les plus sujets erreurs ?

Ai-je les moyens de corriger les erreurs automatiquement ?

Comment permettre un utilisateur de corriger les erreurs ?

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 :

Que faire si un chargement choue ?

Ai-je les moyens de revenir l'tat avant le chargement ?

Puis-je revenir dans le temps d'un chargement donn ?

Comment valider mon chargement, comment dtecter les erreurs ?


III-E - Et les mtas donnes dans tout a !?
Et oui ! On n'en parle jamais assez ! Et quand on en parle, ben on ne sait pas forcment ce que a veut dire ! C'est
pourtant une des cls du succs de tout projet dcisionnel.
Les mtas donns, en informatique dcisionnelle, sont des informations dcrivant notre environnement dcisionnel.
Je ne parle pas seulement des informations concernant le schma des entrepts ou la politique d'attribution de noms
aux champs de l'entrept, mais de tout ce qui, de prs ou de loin, peut ajouter de la comprhension aux chiffres
prsents.
En effet, il est peut tre pertinent pour notre ami analyste de savoir que la colonne prix qu'il est en train d'analyser
provient des archives et non des donnes courantes. Il est peut tre utile aussi de savoir que les chiffres devant nos
yeux sont issus d'un chargement qui a chou mais qu'on a russi recharger correctement. Il est important pour
le grand patron d'une entreprise d'avoir une petite info bulle qui lui indique que les donnes de son tableau de bord
sont ceux de l'avant-veille car le chargement ne s'est pas bien droul. Imaginez la catastrophe si le dcideur prenait
des dcisions sur des donnes errones !!
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 7 -
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/
Il est trs important, dans un environnement dcisionnel, de non seulement documenter tout le projet (des processus
d'ETL aux logs de chargements) mais de rendre aussi disponible toutes ces mtas donnes aux utilisateurs de
l'environnement pour gnrer encore plus de connaissance. Car n'oubliez pas que c'est le but finalement, crer de
la connaissance.
III-F - Et comment contrler cet ETL ?
Dans tout ce que vous ferez dans la vie, le contrle est la cl du succs. Le non contrle amenant invitablement
le risque et le risque entranant l'erreur. Si vous ne savez pas d'o provient une erreur, il est fort probable qu'elle
soit du cot d'un lment dont vous n'avez pas le contrle. Le meilleur systme tant celui qui laisse le moins de
place au risque.
La partie philosophie la matrix tant dite. Intressons nous comment contrler un ETL, quels sont les points cls
surveiller et, surtout, que faire lorsqu'un lment ne fait pas son travail correctement.
Les ETL sont, malheureusement, la plus grande faiblesse des environnements dcisionnels. Tout est critique et sujet
contrle dans un ETL. Sans oublier que le contrle sans action ne nous est en rien utile !
Comment retourner en arrire, c'est la principale question que je me pose et laquelle j'essaye de rpondre quand
je conois un ETL. Comment retourner en arrire si un chargement s'arrte brusquement, comment revenir l'tat
initial si les donnes semblent incohrentes, comment valider mes transformations#
Le but de tous ces questionnements est de prserver l'intgrit et la " vrit " de l'entrept de donnes. Car c'est le
seul point de dfaillance de l'environnement ( par la phase de chargement, tout le systme est en lecture seule).
ETL, les questions se poser par Yazid Grim (Business Intelligen(ce))
- 8 -
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/
IV - Outils d'ETL
IV-A - lments prendre en compte lors du choix de l'ETL
Nous avons la chance d'voluer, l'heure o j'cris ces mots, dans un domaine en pleine effervescence, les solutions
d'ETL existent, sont nombreuses et rpondent toutes les demandes de performance et de portefeuille (c'est
important !).
Cependant, devant un choix si diversifi, on se retrouve un peu perdu : Open Source ou payant, solution intgre
ou indpendante, sous traitance ou dveloppement. Les lments prendre en compte dans le choix de votre ETL
sont les suivants :

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/

Vous aimerez peut-être aussi