Académique Documents
Professionnel Documents
Culture Documents
Etl Open Source
Etl Open Source
Etl Open Source
de fonctionnalits proposes,
de maturit,
de prennit.
Pentaho Data Integration ( PDI ) et Talend Open Studio ( TOS ) peuvent rpondre de faon quivalente la
plupart des ETL propritaires disponibles sur le march.
Atol Conseils et Dveloppements est ainsi en mesure de vous apporter conseil, support et assistance dans la la
mise en oeuvre de projets spcifiques utilisant l'un de ces 2 ETL Open Source.
Vous trouverez en Annexe 2 un exemple de projet ralis avec Pentaho Data Integration.
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 4 -
http://business-intelligence.developpez.com/
II - Qu'est-ce qu'un ETL ?
ETL est l'acronyme de Extract # Transform -Load .
Un ETL permet ainsi l' Extraction, la Transformation et le Chargement de donnes depuis des sources diverses
(bases de donnes, fichiers) vers des cibles pralablement dfinies.
De nombreux systmes de gestion de bases de donnes sont supports nativement en lecture/criture (Oracle, MS
Sql Server, DB2, Postgresql, MySql,...).
De nombreux types de fichiers peuvent galement tre lus ou crits: Csv, Excel, Txt, Xml, ...
Notons que la plupart des ETL disposent d'une interface graphique permettant l'laboration des diffrents scnarios
d'intgration.
Le travail des dveloppeurs en est ainsi grandement facilit, tant au niveau de la conception que de la maintenance
des traitements de donnes.
Les ETL sont communment utiliss dans l'informatique dcisionnelle afin de permettre l'alimentation des
datawarehouses (entrepts de donnes).
Ces derniers servent de supports pour l'analyse des donnes sous plusieurs formes :
Rapports et tats,
Agrgation de donnes
des transformations : celles-ci constituent les traitements de base d'intgration de donnes avec toutes les
tapes (steps) ncessaires l'extraction, la transformation, et le chargement des donnes.
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 10 -
http://business-intelligence.developpez.com/
des tches (jobs) : ceux-ci permettent le squencement de plusieurs transformations avec des fonctionnalits
plus orients EAI : gestion des erreurs, envoi de mails de notification, transferts FTP/SFTP, excution de
scripts shell ou SQL, etc...
Caractristiques de Pentaho Data Integration :
Une suite de 3 composants: L'interface graphique Spoon , les dclencheurs en mode batch pour les
transformations ( Pan ) et les jobs ( Kitchen ).
Une installation simple (un dossier dcompresser) => un environnement d'excution JAVA 1.5 suffit
La possibilit de prvisualiser les flux de donnes traites, et ceci pour une tape donne.
La possiblit d'excuter les traitements sur le poste local, un serveur distant, ou un ensemble de serveurs
(excution en grappe ; clustering)
L'intgration parfaite avec la plate-forme dcisionnelle Pentaho. Par exemple, les flux de donnes en
provenance de l'ETL peuvent servir alimenter des rapports ou des dashboards en temps rel.
Spoon, l'interface graphique de cration des transformations et jobs :
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 11 -
http://business-intelligence.developpez.com/
Spoon, le suivi des traitements real time :
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 12 -
http://business-intelligence.developpez.com/
Briques de traitements de donnes (liste non exhaustive) :
Step Etape Description
Extraction depuis EXCEL Extraction de donnes
depuis un ou plusieurs
onglets d'un fichier XLS
Extraction depuis ACCESS Extraction de donnes
depuis une table d'une base
Access
Extraction depuis une base
de donnes
Extraction de donnes
depuis une table d'un SGBD
(Oracle, MySql, Postgres,
SQLServer, DB2, AS400,
SAP, etc...) : 30 SGBD
supports via JDBC et/ou
ODBC
Extraction depuis un fichier Extraction de donnes
depuis un fichier CSV ou de
type dlimit
Extraction depuis un fichier
XML
Extraction de donnes
depuis un fichier XML
Extraction depuis un
annuaire
Extraction de donnes
depuis un annuaire de type
LDAP
Alimentation base de
donnes
Insertion ou mise jour
d'une table d'un SGBD
(insert/update)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 13 -
http://business-intelligence.developpez.com/
Recherche dans base de
donnes
Recherche des
enregistrements dans une
base de donnes selon une
liste de valeurs
Recherche dans un flux Recherche des
enregistrements dans un flux
de donnes selon une liste
de valeurs
Normalisation Ligne Normalise des informations
Dnormalisation ligne Dnormalisation de lignes
Ajout squence Ajoute une squence
(calcule ou rcupre
depuis une base de donnes)
Filtrage de ligne Permet de diriger les flux
de donnes vers 2 cibles
diffrentes selon un ou
plusieurs critres
Agrgation de donnes Permet de raliser des
calculs d'agrgation sur un
ensemble de lignes (somme,
moyenne, min, max, count,
etc...)
Calculs Permet de crer des
donnes calcules partir
des donnes traites
Stockage des traitements au format XML :
Les jobs et transformations sont stocks dans un meta-langage, qui peut tre soit stock au format XML, soit dans
une base de donnes.
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 14 -
http://business-intelligence.developpez.com/
IV-C - Comparatif des fonctionnalits
IV-C-1 - Accs aux donnes
Accs aux donnes relationnelles (SGBD)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 15 -
http://business-intelligence.developpez.com/
Fichiers plats
Connecteurs applicatifs
Autres
IV-C-2 - Dclenchement des processus
Dclenchement par message
Dclenchement par type de polling
IV-C-3 - Traitement des donnes
Transformations et calculs par dfaut
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 16 -
http://business-intelligence.developpez.com/
Attention : les tapes marques NON ci-dessus sont seulement pour la prise en charge automatique. Les 2 outils
fournissent, bien sr, un mcanisme de requtage directement en SQL qui permet de faire toutes les jointures et
les requtes imbriques...
Transformations manuelles
IV-C-4 - Traitement des donnes
IV-C-5 - Dveloppement avanc
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 17 -
http://business-intelligence.developpez.com/
IV-C-6 - Dploiement/Mise en production
IV-C-7 - Administration
IV-C-8 - Gestion de la scurit
IV-D - Comparatif des temps de traitements
IV-D-1 - Mthodologie de ralisation des tests
Les performances des temps de traitements sont un critre important dans le choix d'un ETL.
Les rsultats des tests qui sont donns dans les paragraphes suivants correspondent des cas simples et ne peuvent
en aucun cas prjuger des performances relles en environnement de production.
Seuls des tests pousss sur des traitements d'intgration rels peuvent permettre de qualifier dfinitivement l'ETL
choisi.
Pour chaque test, les rsultats prsents sont issu d'une moyenne de trois essais raliss dans des
conditions identiques.
Enfin, les essais sont raliss uniquement en code gnr en Java pour Talend Open Studio, afin que l'on
puisse comparer de faon objective ceux obtenus avec Pentaho Data Integration, dont le moteur est crit en
Java.
IV-D-2 - Test n1
Descriptif 1. Extraction des donnes d'un fichier CSV
2. Chargement des donnes dans un autre
fichier CSV
- Le sparateur ; du fichier initial est
remplac par le sparateur , .
Dtails Le fichier d'entre comporte 7 champs typs
sequence [integer]; now [datetime]; first
[number]; second [string]; third [datetime];
fourth
[boolean]; fifth [integer]
0000000001;2007/11/0510:44:43.014;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000002;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000003;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000004;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000005;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000006;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000007;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000008;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000009;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
0000000010;2007/11/0510:44:43.029;12.345;undeuxtroisquatrecinq;0304/12/0500:00:00.000;Y;12345
etc.
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 19 -
http://business-intelligence.developpez.com/
Modlisation dans Pentaho Data
Integration (PDI)
Modlisation dans Talend Open Studio
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 20 -
http://business-intelligence.developpez.com/
IV-D-3 - Test n2
Descriptif 1. Extraction des donnes d'un fichier CSV
2. Chargement des donnes dans un fichier
XML
Dtails Le fichier d'entre comporte 7 champs typs
(mme fichier que Test1)
Le fichier de sortie est un fichier XML dont la
structure est la suivante :
Modlisation dans Pentaho Data
Integration (PDI)
Modlisation dans Talend Open Studio
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 21 -
http://business-intelligence.developpez.com/
IV-D-4 - Test n3
Descriptif 1. Extraction des donnes d'un fichier CSV
2. Chargement des donnes dans une table
Postgresql
Dtails Le fichier d'entre comporte 7 champs typs
(mme fichier que Test 1 et 2)
La table Postgresql charge comporte les
champs suivants :
Modlisation dans Pentaho Data
Integration (PDI)
Modlisation dans Talend Open Studio
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 22 -
http://business-intelligence.developpez.com/
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 23 -
http://business-intelligence.developpez.com/
IV-D-5 - Test n4
Descriptif 1. Extraction des donnes d' un fichier
commandes (format) CSV
2. Chargement des donnes dans une table
[livraisons] avec calcul du dlai de livraisons
et du montant global de chaque commande.
Rcupration du nom littral du produit via
un lookup sur la table [produits] partir
de son code.
Dtails Le fichier commandes.csv possde
la structure suivante. Il existe 26 zone de
livraisons (A, B, C, D, ...., X, Y, Z) :
La table [produits] possde la structure
suivante. Cette table (gnre alatoirement
pour les tests) contient le code et la
description de 100 000 produits :
La table cible [livraisons] doit contenir les
donnes ci-dessous aprs traitement :
[livraisons].[montant]= {prix_unit} x {qte}
[livraisons].[delai]= {date_livr} # {date-cmde}
[livraisons].[desc_complete]= Texte
comprenant {description produit} et
{zone_livraison}
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 24 -
http://business-intelligence.developpez.com/
Modlisation dans Pentaho Data
Integration (PDI)
Le lookup sur la table [produits] permet de
ramener la description du produit partir du
code produit prsent dans le fichier d'entre :
L'tape JavaScript permet la ralisation
des calculs :
Modlisation dans Talend Open Studio
Le composant tMap, permet la fois de
raliser le lookup sur la table [produits] et la
ralisation des diffrents calculs :
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 25 -
http://business-intelligence.developpez.com/
IV-D-6 - Test n5
Descriptif Test identique au Test 4, sauf qu'on isole
au dbut du traitement toutes les donnes
provenant venant des zones de livraisons
codes W, X, Y et Z
Ces lignes isoles sont exportes dans un
fichier CSV pour traitement ultrieur.
Dtails Le fichier CSV des lignes rejetes contient
ainsi le code produit et la zone de livraison
rejete associe (W, X, Y ou Z)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 26 -
http://business-intelligence.developpez.com/
Modlisation dans Pentaho Data
Integration (PDI)
Le filtrage des lignes s'effectue de la faon
suivante :
Modlisation dans Talend Open Studio
Comme dans le test 4, c'est le composant
tMap qui permet d'isoler les lignes rejeter :
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 27 -
http://business-intelligence.developpez.com/
IV-D-7 - Test n6
Descriptif Test identique au Test 5, avec alimentation
d'une table d'agrgation [livraisons_stats]
Dtails La table d'agrgation [livraisons_stats] doit
contenir les donnes ci-dessous aprs les
traitements suivants. Le groupement de
donnes est effectu pour chaque zone de
livraison.
[livraisons_stats].[nb_livraisons]= {nb total
de livraisons sur la zone} (count)
[livraisons_stats].[montant_max]= {montant
maxi d'une commande pour la zone} (max)
[livraisons_stats].[montant_min]= {montant
mini d'une commande pour la zone} (min)
[livraisons_stats].[delai_moyen]= {delai
moyen de livraison pour la zone} (avg)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 28 -
http://business-intelligence.developpez.com/
Modlisation dans Pentaho Data
Integration (PDI)
Pour que les calculs d'agrgation soit
corrects, le flux de donnes doit tre tri
par zone de livraison. Dtail de l'tape
Agrgation de valeurs :
Modlisation dans Talend Open Studio
Pour que les calculs d'agrgation soit
corrects, le flux de donnes doit tre tri
par zone de livraison. Dtail de l'tape
tAggregateRow :
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 29 -
http://business-intelligence.developpez.com/
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 30 -
http://business-intelligence.developpez.com/
IV-D-8 - Test n7
Descriptif Utilisation d'une tape de traitement
Dimension lente de type 2
Pour plus d'infos sur les diffrents types de
Slow Changing Dimension consulter la
page :
http://en.wikipedia.org/wiki/
Slowly_changing_dimension
Dtails La table [produits_ref_scd] permet
l'historisation des prix d'un catalogue produit.
Extrait de la table avant le traitement :
Le fichier trait indique le code et le prix de
l'article la date du traitement :
100; 746.48
101; 528.72
Une fois le traitement effectu, la table
[produits_ref_scd] stocke l'historique des
prix :
Pour un code produit donn, ds que
le prix est diffrent de celui prsent en
base, un nouvel enregistrement est cre
avec un nouveau numro de version. La
priode de validit est galement mise jour
(date_debut, date_fin)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 31 -
http://business-intelligence.developpez.com/
Modlisation dans Pentaho Data
Integration (PDI)
Modlisation dans Talend Open Studio
Rsultats du Test
(Temps de traitement exprims en sec.)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 32 -
http://business-intelligence.developpez.com/
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 33 -
http://business-intelligence.developpez.com/
V - Conclusion
A l'issue de l'ensemble de notre tude comparative, voici ce que nous pouvons conclure :
Talend Open Studio et Pentaho Data Integration sont des ETL ayant leurs propres spcificits, et sont donc de
ce fait plus complmentaires que concurrents
Ce sont des alternatives relles des ETL propritaires comme Informatica Power Center, Oracle Warehouse
Builder, Cognos DecisionStream...
Pourquoi ?
Les PLUS de Pentaho Data Integration Les PLUS de Talend Open Studio
Une interface simple et intuitive qui permet
de raliser trs rapidement vos premiers
traitements
Un rfrentiel de mtadonnes qui permet
la rutilisation des formats de fichiers, des
connexions aux bases, ...
Un rfrentiel de stockage des jobs qui peut
tre partag par plusieurs dveloppeurs
La notion de contexte qui permet de
switcher facilement d'un environnement de
test un environnement de production
Une parfaite intgration la plate-forme
PENTAHO, qui permet ventuellement la
rcupration de donnes dcisionnelles en
temps rel
Un outil de planification (scheduler) intgr
Un forum trs riche et dynamique et un wiki
bien document
Un forum galement dj trs riche
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 34 -
http://business-intelligence.developpez.com/
VI - Annexe 1
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 35 -
http://business-intelligence.developpez.com/
Socit ETL Commentaire
Abinitio Abinitio
Altova Mapforce
Attunity Integration Suite
Barracuda software Barracuda Integrator
Benetl Benetl Freeware
Business Objects Data Integrator
Cast Iron Systems Cast Iron Integration
Appliance
CA Data integrator
OpenSys Clover ETL Open Source
Cognos Decisionstream
Corporator Transformer
CoSORT CoSORT ETL tools
Crossflo Systems DataExchange
Datacyr Corporation DataCyr Transform
Data Exchanger Data Exchanger
DataHabitat DH ETL
Datamirror Datamirror
D2K D2K
Embarcadero DTStudio
Enhydra Octopus Open Source
ETL Solutions ltd Transformation Manager
ETI ETI Solution
GammaSoft data'distribution
Group 1 Data Flow
Hummingbird Genio
Information Builders iWay
IBM Websphere DataStage
Ikan MetaSuite
Informatica PowerCenter Market leader
iSoft Amadea
Microsoft DTS Ceased to exist
Microsoft Integration Services Bundled with SQL server
Oracle Warehouse Builder
Oracle Sunopsis
Pentaho Pentaho Data integration Open Source
Pervasive Data Junction
Pervasive Data Integrator & Business
Integrator
Platinum Info Pump Acquired by CA.
Powershift Manheim
Sagent Technology Sagent Solution Acquired by Group 1
SAS Data integration Previously ETL/Studio
Solonde Warehouse Workbench Acquired by Sybase
Sterling Commerce Gentran Integration Suite
Sunopsis Data Conductor Acquired by Oracle
Sybase Data Integration Suite &
Data Federation
Syncsort DMExpress
Talend Talend Open Studio Open Source
WisdomForce# FastReader
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 36 -
http://business-intelligence.developpez.com/
VII - Annexe 2
VII-A - Un besoin et un projet client
En 2007, en lien direct avec l'explosion des cours des crales, il a t dcid de mettre en place un service en
ligne de Bourse aux crales afin de permettre aux craliers d'avoir un minimum de garanties concernant les
prix de vente et d'achat des crales.
C'est dans ce contexte que l'ETL Pentaho Data Integration a t mis en place pour rcuprer les cotations EuroNext
MATIF du bl, du colza et du mas, et ainsi permettre une mise jour quotidienne des services de bourse disponible
sur un trentaine d'extranets.
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 37 -
http://business-intelligence.developpez.com/
VII-B - Mise en place technique
La syntaxe des fichiers XML traiter est la suivante :
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 38 -
http://business-intelligence.developpez.com/
Le job permet :
d'excuter des ordres SQL pour indiquer l'application l'heure des traitements et le bon droulement de
ceux-ci.
Phase de Conception/Dveloppement :
L'utilisation de Pentaho Data Integration est trs simple et intuitive, il n'y a pratiquement aucun code crire pour la
conception et la dfinition des traitements d'intgration.
Il y a donc des gains consquents en terme de dveloppement, malheureusement on ne peut pas s'affranchir de
l'analyse (!)
La documentation, les samples fournis avec l'outil et le site de Pentaho Data Integration (kettle.pentaho.org)
permettent bien souvent de trouver la solution un point de blocage.
Les fonctions de prvisualisation de l'ETL permettent de tester efficacement les traitements lors de la phase de
dveloppement.
Phase d'installation :
Il suffit juste d'installer Pentaho Data Integration sur le serveur cible (dcompression d'un zip, installation de java 1.5
si besoin), puis ensuite de planifier les traitements batch (via crontab sous Linux).
Le dploiement des jobs peut se faire par recopie du repository de DEV sur le serveur de PROD (remonte du
dump de la bdd du repository kettle)
Les ETL Open Source : Une relle alternative aux solutions propritaires par Atol Conseils et Dveloppements
- 42 -
http://business-intelligence.developpez.com/
Phase de production :
Chaque jour, les mails de notification permettent d'tre informs du bon droulement des traitements.
A ce jour, aucun plantage n'a t constat depuis la mise en production effectue le 23 Mai 2007.
Maintenance :
La maintenance volutive ou corrective est grandement simplife du fait de la vision graphique des traitements et
du dcoupage de ceux-ci en briques lmentaires.
Si jamais un jour il faut aller chercher les donnes via webservice, il suffira de remplacer l'tape parsing XML
par un webservice call
Cots de licences :
Aucun
VII-E - Retour client
Adhrents.coop communique chaque anne via la rapport annuel de la FFCAT (Fdration Franaise des
Coopratives Agricoles de Collecte d'Approvisionnement et de Transformation).
Les 2 pages qui suivent illustrent la satisfaction des coopratives quant la mise en place des services de bourse
en ligne, qui sont aliments en Back-End par un ETL Open Source !