Vous êtes sur la page 1sur 49

LIVRE BLANC

Les ETL Open Source


Une relle alternative aux solutions propritaires

D'annes en annes, l'Open Source n'a cess de toucher de nouveaux domaines d'applications. Aprs la conqute des systmes d'exploitation (Linux), des bases de donnes (MySql, PostgreSql), de l'internet (serveurs, outils de gestion de contenu web), de nombreuses applications mtiers Open Source ont galement vu le jour. Ainsi, des ERP, des outils de gestion de contenu d'entreprise (ECM), de relation client (CRM) ont fait leur apparition. Pour ne citer qu'eux : Alfresco, Compiere, SugarCRM. Depuis peu, c'est le domaine de la Business Intelligence qui a vu l'apparition des logiciels libres, ceux-ci couvrant tous les aspects du dcionnel: reporting, dashboards, analyse multi-dimensionnelle, data-minining, et bien sr ETL. C'est dans un contexte de concentration (*) des grands acteurs commerciaux du domaine et du dynamisme actuel de l'OSBI (**) que nous vous prsentons ce livre blanc sur Les ETL Open Source.

Sylvain DECLOIX - Responsable Ple OSBI Atol Conseils et Dveloppements www.atolcd.com

(*) rachats en 2007 de Hyperion par Oracle, de Business Objects par SAP, et de Cognos par IBM (**) OSBI: Open Source Business Intelligence

Ce livre blanc est publi sous licence Creative Commons : Paternit, Pas de modification, Pas d'utilisation commerciale 2.0 France Dtail des conditions: http://creativecommons.org/licenses/by-nc-nd/2.0/fr

Table des matires


1 2 3 4 INTRODUCTION......................................................................................................................................3 QU'EST-CE QU'UN ETL ?................................................................................................................4 POURQUOI UTILISER UN ETL OPEN SOURCE ?........................................................................................6 NOTRE COMPARATIF TALEND OPEN STUDIO / PENTAHO DATA INTEGRATION .................................7
4.1 4.2 4.3 Prsentation de Talend Open Studio.......................................................................................................................7 Prsentation de Pentaho Data Integration...........................................................................................................10 Comparatif des Fonctionnalits.............................................................................................................................15
4.3.1 Accs aux donnes............................................................................................................................................................15 Accs aux donnes relationnelles (SGBD).....................................................................................................................................15 Fichiers plats..................................................................................................................................................................................15 Connecteurs applicatifs..................................................................................................................................................................15 Autres.............................................................................................................................................................................................15 4.3.2 Dclenchement des processus............................................................................................................................................16 Dclenchement par message...........................................................................................................................................................16 Dclenchement par type de polling.................................................................................................................................................16 4.3.3 Traitement des donnes.....................................................................................................................................................16 Transformations et calculs par dfaut.............................................................................................................................................16 Transformations manuelles.............................................................................................................................................................16 4.3.4 Caractristiques spcifiques...............................................................................................................................................17 4.3.5 Dveloppement avanc......................................................................................................................................................17 4.3.6 Dploiement/Mise en production.......................................................................................................................................17 4.3.7 Administration...................................................................................................................................................................18 4.3.8 Gestion de la scurit.........................................................................................................................................................18

4.4

Comparatif des temps de traitements....................................................................................................................19


4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 Mthodologie de ralisation des tests................................................................................................................................19 TEST N1..........................................................................................................................................................................20 TEST N2..........................................................................................................................................................................22 TEST N3..........................................................................................................................................................................24 TEST N4..........................................................................................................................................................................26 TEST N5..........................................................................................................................................................................30 TEST N6..........................................................................................................................................................................33 TEST N7..........................................................................................................................................................................36

5 6 7

CONCLUSION.......................................................................................................................................39 ANNEXE 1...........................................................................................................................................40 ANNEXE 2...........................................................................................................................................41


7.1 7.2 7.3 7.4 7.5 Un Besoin et un Projet client..................................................................................................................................41 Mise en place technique..........................................................................................................................................42 Rsultat sur un extranet ........................................................................................................................................46 Feedback sur l'utilisation de Pentaho Data Integration ................................................................................47 Retour Client...........................................................................................................................................................47

INTRODUCTION

Depuis quelques annes, des ETL Open Source ont fait leur apparition au milieu de la multitude des ETL propritaires (voir liste en annexe 1). Ces ETL ont notamment profit de l'mergence de l'OSBI ( Open Source Business Intelligence ) et de l'apparition de nouvelles solutions dcisonnelles Open Source ambitieuses et dj matures. Des socits telles que Pentaho (www.pentaho.org), SpagoBI (www.spagobi.org), JasperIntelligence (www.jasperforge.org), Talend (www.talend.com) ont ainsi contribu l'mergence et la dmocratisation de ces ETL Open Source. Parmi ceux-ci, nous avons voulu effectuer une analyse comparative dtaille de deux d'entre eux : Pentaho Data Integration ( Kettle l'origine) Talend Open Studio Ces deux ETL Open Source nous paraissent en effet l'heure actuelle les plus intressants en termes : 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.

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, Tableaux de bords (dashboards, balanced scorecard), Indicateurs de performance ( KPIs ), Analyse multi-dimensionnelle (OLAP) , Analyse exploratoire (Data-Mining).

Ainsi, les ETL proposent dans la plupart des cas des fonctionnalits propres l'alimentation des datawarehouses :

Cration de cles techniques ( Surrogate keys ) Mise jour de type dimension Lente ( Slow Changing Dimension ) Agrgation de donnes Alimentation de base multidimensionnelles (tables de faits et dimensions)

Les volumes de donnes traits sont toujours trs importants, ainsi les critres de performance sont primordiaux dans le choix d'un ETL.

POURQUOI

UTILISER UN

ETL OPEN SOURCE ?

Le choix le plus difficile dans tout projet dcisionnel ou d'intgration/migration de donnes consiste dterminer quelle mthode doit tre mise en oeuvre : 1. Faut-il crer du code spcifique (procdures SQL, code Java ou autre) ? 2. Faut-il acheter un ETL propritaire (Informatica, Oracle Warehouse Builder, BO Data Integrator ou autre) ?

La premire solution semble intressante, car elle permet de rester au plus prs des spcificits mtiers des donnes traiter, tout en s'affranchissant des contraintes lies l'achat et l'utilisation d'un ETL propritaire. Cependant, cette solution peut s'avrer coteuse long terme, tout simplement car l'volutivit constante des donnes mtier entrane une ncessaire adaptation des traitements d'intgration. Celle-ci n'est pas toujours facile grer, surtout si les quipes projets voluent au cours du temps. La deuxime solution va permettre de mettre en oeuvre trs rapidement les traitements d'intgration, avec cependant des cots levs (achat des licences, formations,...) et ceci ds la phase de dmarrage du projet.

Il existe dsormais une solution alternative: Utiliser un ETL Open Source. On bnficie ainsi des avantages d'un ETL tout en gardant une matrise lisse des cots. Ces derniers sont en effet rduits aux cots de formation initiale de l'outil et d'une ventuelle souscription une hot-line technique. Aucune licence n'est payer dans ce modle conomique.

(Graphique extrait de la doc.technique Pentaho)

C'est donc dans cette 3me approche que se positionnent les ETL Talend Open Studio et Pentaho Data Integration

4
4.1

NOTRE

COMPARATIF

TALEND OPEN STUDIO / PENTAHO DATA INTEGRATION

PRSENTATION

DE

TALEND OPEN STUDIO

Talend Open Studio est dvelopp par Talend (www.talend.com), une socit franaise dynamique et relativement jeune. La premire version de Talend Open Studio a vu le jour au 2me semestre 2006, et la version actuelle est la 2.3. Talend Open Studio est un ETL du type gnrateur de code . Pour chaque traitement d'intgration de donnes, un code spcifique est gnr, ce dernier pouvant tre en Java ou en Perl. Les donnes traites et les traitements effectus sont donc intimement lis. Talend Open Studio utilise une interface graphique, le Job Designer (base sur Eclipse RCP) qui permet la cration des processus de manipulation de donnes :

De nombreux types dtapes sont disponibles pour se connecter aux principaux SGBD (Oracle, DB2, MS SQL Server, PostgreSQL, MySQL,...) ainsi que pour traiter tous les types de fichiers plats (CSV, Excel, XML), aussi bien en lecture qu'en criture. Talend facilite la construction des requtes dans les bases de donnes en dtectant le schma et les relations entre tables. Un rfrentiel permet de stocker les mta-donnes afin de pouvoir les exploiter dans diffrents jobs. Par exemple on peut sauvegarder le type et le format des donnes d'entre d'un fichier CSV afin de pouvoir les exploiter ultrieurement.

Une gamme complte de composants :


Le Job Designer intgre une Component Library : une palette graphique de composants et connecteurs. Les processus d'intgration sont construits simplement en dposant des composants et connecteurs sur le diagramme, en dessinant leurs connexions et relations, et en modifiant leurs proprits. La plupart de ces proprits peut tre issue des mtadonnes dj dfinies. La Component Library inclut plus de 80 composants et connecteurs, fournissant des fonctions basiques telles que des associations, transformations, agragation et recherches; des fonctions spcialises comme le filtrage de donnes, le multiplexage de donnes... Cette librairie supporte tous les principaux SGBDR, formats de fichiers, annuaires LDAP... La Component Library peut facilement tre complte en utilisant des langages standards tels que Perl, Java ou SQL.

Des traces et statistiques d'excution en temps rel :


La conception trs visuelle des "jobs" permet de prsenter des statistiques d'excution en temps rel ou encore de tracer les donnes transitant ligne ligne dans les composants de la chane de traitement. Quand un job d'intgration est lanc via le Job Designer (en mode graphique), il est possible d'afficher les statistiques de traitement en temps rel, montrant le nombre de lignes traites et rejetes, ainsi que la vitesse d'excution (lignes par secondes). On peut ainsi reprer immdiatement les goulots d'tranglement. Il est aussi possible d'activer un mode de traage, qui affiche pour chaque ligne le comportement adopt et montre le rsultat des transformations. Les fonctionnalits de debogage traditionnelles sont videmment disponibles.

L'enrichissement des traitements par ajout de code spcifique : La totalit du code gnr par Talend Open Studio, quelque soit le langage cible, est toujours visible et accessible depuis l'environnement de conception. On peut bien sr implmenter des spcificits mtiers propres aux donnes traites, ceci en ajoutant de nouvelles routines .

Exemple de code gnr par Talend Open Studio :

Intgration dans les suites dcisionnelles Open Source : Talend est partenaire des diteurs des suites dcisionnelles SpagoBI et JasperIntelligence.

4.2

PRSENTATION

DE

PENTAHO DATA INTEGRATION

Pentaho Data Integration est l'ETL de la suite dcisionnelle Open Source Pentaho. Cet ETL, Kettle l'origine, est le fruit du travail de Matt Casters, un consultant BI qui l'a dvelopp l'origine pour ses propres besoins au dbut des annes 2000. Courant 2006, Matt Casters rejoint la socit Pentaho, et Kettle devient Pentaho Data Integration . Les nouvelles versions s'enchanent alors un rythme soutenu. La prochaine version est la 3.0.2 qui doit sortir courant Fvrier 2008. Contrairement Talend Open Studio, Pentaho Data Integration est un moteur de transformation ETL: les donnes traites et les traitements effectuer sont parfaitement spars. (on parle de meta-data driven ETL) Les traitements sont stocks dans un rfrentiel (repository) qui peut tre soit au format XML (fichiers plats), soit dans une base de donnes (ce qui permet notamment le partage entre plusieurs designers). Tout comme Talend Open Studio, de nombreux types de SGBD sont supports (une trentaine) ainsi que tous les types de fichiers plats (Csv, dlimit, Excel, XML).

Pentaho Data Integration dipose d'une interface graphique Spoon (base sur SWT), depuis laquelle on peut crer deux types de traitements :

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. 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 :

Un produit sous licence GNU disponible sur plusieurs systmes d'exploitation :

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) La possibilit de logger les traitements dans une base de donnes spcifique. 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 :

Spoon, le suivi des traitements real time :

Briques de traitements de donnes (liste non exhaustive) :

Step Extraction depuis EXCEL

Etape

Description 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 depuis un fichier Extraction depuis un fichier XML Extraction depuis un annuaire Alimentation base de donnes Recherche dans base de donnes Recherche dans un flux

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 de donnes depuis un fichier CSV ou de type dlimit

Extraction de donnes depuis un fichier XML

Extraction de donnes depuis un annuaire de type LDAP

Insertion ou mise jour d'une table d'un SGBD (insert/update)

Recherche des enregistrements dans une base de donnes selon une liste de valeurs Recherche des enregistrements dans un flux de donnes selon une liste de valeurs Normalise des informations

Normalisation Ligne

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 Permet de raliser des calculs d'agrgation sur un ensemble de lignes (somme, moyenne, min, max, count, etc...) Permet de crer des donnes calcules partir des donnes traites

Agrgation de donnes

Calculs

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.

4.3
4.3.1

COMPARATIF DES FONCTIONNALITS


Accs aux donnes

Accs aux donnes relationnelles (SGBD)


Pentaho Data Integration Lecture de table complte Lecture de vue complte Appel de procdure stockes Ajout de clause where/order by Excution de requte Outil de cration de requte Lecture/criture de tous les types simples de donnes Lecture/criture de types complexes de donnes Talend Open Studio


Seulement sur certains SGBD


Donnes cartographiques

Fichiers plats
Pentaho Data Integration CSV Fixed/Limit XML Excel Validit des fichiers plats Validit des fichiers XML Talend Open Studio

Connecteurs applicatifs
Pentaho Data Integration Quels connecteurs ? SAP (lecture) Talend Open Studio Connecteurs CRM ( sugarCRM, SalesForce, .. ) Connecteurs ERP

Autres
Pentaho Data Integration Web Services Cubes OLAP (Mondrian) Divers Talend Open Studio


LDAP


RSS, LDAP, MOM, POP, SCP, XMLRPC

4.3.2

Dclenchement des processus

Dclenchement par message


Pentaho Data Integration CORBA XML RPC JMS MOMS Talend Open Studio

Dclenchement par type de polling


Pentaho Data Integration Rpertoire POP Talend Open Studio

4.3.3

Traitement des donnes

Transformations et calculs par dfaut


Pentaho Data Integration Fonctions de transformations des dates et des nbres Fonctions statistiques de qualit Permet le transcodage par une table de rfrence Jointures htrognes Modes de jointure supportes (BD) Gestion des requtes imbriques Talend Open Studio


Externe


Jointure de flux seulement

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
Pentaho Data Integration Possibilit de traitements par un langage de programmation Ajout de nouvelles transformations et processus mtiers Talend Open Studio

4.3.4

Caractristiques spcifiques
Pentaho Data Integration Talend Open Studio

Mapping graphique Drag and drop (Glisser/dposer) Reprsentation graphique des flux Visualisation des donnes en cours de dveloppement Outil d'analyse d'impact Outils de debugging Gnration de documentation technique Gnration de documentation fonctionnelle Consultation de la documentation travers le web Gestion des erreurs d'intgration


Oui, pour certaines tapes

4.3.5

Dveloppement avanc
Pentaho Data Integration Talend Open Studio

Prsence d'une API Intgration de fonctions externes Mcanisme de reprise sur incident Paramtrage des buffers/indexes/caches Gestion du dveloppement en quipe Versionning


Oui, mais payant

4.3.6

Dploiement/Mise en production
Pentaho Data Integration Talend Open Studio OUI pour JAVA NON pour PERL

Compilation des traitements

NON

Type de mise en production Visualisation de l'historique des mise en production

Ligne de commande windows ou unix

4.3.7

Administration
Pentaho Data Integration Talend Open Studio

Console d'administration Gestion automatise des logs Gnration de log spcifique Interfaage avec des outils de supervision Outil de planification des traitements intgr

4.3.8

Gestion de la scurit
Pentaho Data Integration Talend Open Studio

Utilisation des droits d'un annuaire Type de scurit Scurit sur la cration de scnario Scurit sur la maj de scnario Scurit sur l'accs aux mtadonnes Scurit sur la console d'administration Scurit sur le lancement manuel des tches

Scurit du SGBD qui contient le rfrentiel

Propritaire

4.4
4.4.1

COMPARATIF

DES TEMPS DE TRAITEMENTS

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.

L'ensemble des tests ont t effectus sur un PC Portable Dell Les caractristiques techniques sont les suivantes : DELL Latitude D520 Intel Core DUO (1,66 Ghz) 1 Go de RAM (980 Mhz) Windows XP Professional SP2

Les versions utilises des 2 ETL sont les suivantes:


Pentaho Data Integration v3.0.1 Talend Open Studio v2.2.3

Pour chaque test, les rsultats prsents sont issu d'une moyenne de trois essais raliss dans des conditions identiques.

Tous les traitements sont lancs en ligne de commande. Ainsi, aucun essai n'est lanc depuis les interfaces graphiques aussi bien pour Pentaho Data Integration que Talend Open Studio.

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.

4.4.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 ....

Modlisation dans Pentaho Data Integration (PDI)

Modlisation dans Talend Open Studio

Rsultats du Test (Temps de traitement exprims en sec.)

Nb de lignes traites 500000 1000000 3000000

Tps de traitement (secondes) TALEND PDI 37 35 72 67 213 199

Graphe Comparatif

250

200

Tps de traitement (sec)

150

100

TALEND PDI

50

0 500000 1000000
Nb de lignes traites

3000000

4.4.3

TEST N2
1. Extraction des donnes d'un fichier CSV 2. Chargement des donnes dans un fichier XML

Descriptif

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.)

Nb de lignes traites 100000 500000 1000000

Tps de traitement (secondes) TALEND PDI 51 33 100 62 300 182

Graphe Comparatif

300

250

200
Tps de traitement (sec)

150
TALEND PDI

100

50

0 500000 1000000
Nb de lignes traites

3000000

4.4.4

TEST N3
1. Extraction des donnes d'un fichier CSV 2. Chargement des donnes dans une table Postgresql

Descriptif

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.)

Nb de lignes traites 500000 1000000 3000000

Tps de traitement (secondes) TALEND PDI 111 103 221 198 670 587

Graphe Comparatif

700

600

500
Tps de traitement (sec)

400
TALEND PDI

300

200

100

0 500000 1000000
Nb de lignes traites

3000000

4.4.5

TEST N4
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.

Descriptif

Dtails

Le fichier commandes.csv possde la structure suivante. Il existe 26 zone de livraisons (A, B, C, D, ...., X, Y, Z) : code 24489 12137 84636 67397 83942 93948 90253 78216 81942 prix_unit 535,57 756,15 245,58 732,87 584,77 1014,06 1022,96 988,43 472,17 qte 5 11 6 3 2 8 11 6 5 zone_livraison M J A P Y J L E D date_cmde 11/11/07 06/11/07 07/11/07 17/11/07 01/11/07 14/11/07 02/11/07 13/11/07 16/11/07 date_livr 04/12/07 05/12/07 11/12/07 27/12/07 01/12/07 21/12/07 24/12/07 27/12/07 12/12/07

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}

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.)

Nb de lignes traites 100000 500000 1000000

Tps de traitement (secondes) TALEND PDI 22 42 102 161 203 263

Graphe Comparatif

300

250

200
Tps de traitement (sec)

150
TALEND PDI

100

50

0 100000 500000
Nb de lignes traites

1000000

4.4.6

TEST N5
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.

Descriptif

Dtails

Le fichier CSV des lignes rejetes contient ainsi le code produit et la zone de livraison rejete associe (W, X, Y ou Z)

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.)

Nb de lignes traites 100000 500000 1000000

Tps de traitement (secondes) TALEND PDI 19 48 87 267 174 580

Graphe Comparatif
600

500

400
Tps de traitement (sec)

300
TALEND PDI

200

100

0 100000 500000
Nb de lignes traites

1000000

4.4.7

TEST N6
Test identique au Test 5, avec alimentation d'une table d'agrgation [livraisons_stats] 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)

Descriptif Dtails

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.)

Nb de lignes traites 100000 500000 1000000

Tps de traitement (secondes) TALEND PDI 4 44 15 276 28 602

Graphe Comparatif
700

600

500
Tps de traitement (sec)

400
TALEND PDI

300

200

100

0 100000 500000
Nb de lignes traites

1000000

4.4.8

TEST N7
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

Descriptif

Dtails

La table [produits_ref_scd] permet l'historisation des prix d'un catalogue produit. Extrait de la table avant le traitement :
code 100 101 102 de s cription PRD-JKKZSZDW PRD-YCCLNHTN PRD-YGOIRRGU prix_unit 906,76 257,84 586,05 date _de but 1899-12-31 1899-12-31 1899-12-31 date _fin 2199-12-31 2199-12-31 2199-12-31 ve rs ion 1 1 1 te chnical_k e y 100 101 102

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 :
code 100 100 101 101 PRD-YCCLNHTN de s cription PRD-JKKZSZDW prix_unit 906,76 746,48 257,84 528,72 date_de but 1899-12-31 2008-02-26 1899-12-31 2008-02-26 date _fin 2008-02-26 2199-12-31 2008-02-26 2199-12-31 ve rsion 1 2 1 2 te chnical_k e y 100 500 098 101 500 099

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)

Modlisation dans Pentaho Data Integration (PDI)

Modlisation dans Talend Open Studio

Rsultats du Test (Temps de traitement exprims en sec.)

Nb de lignes traites 50000 100000 500000

Tps de traitement (secondes) TALEND PDI 94 79 209 158 1189 959

Graphe Comparatif
1200

1000

800
Tps de traitement (sec)

600
TALEND PDI

400

200

0 50000 100000
Nb de lignes traites

500000

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 ? Ces deux outils proposent l'ensemble des fonctionnalits ncessaires un ETL. Mme si la modlisation entre Pentaho Data Integration et Talend Open Studio est diffrente, la conception des traitements d'intgration de donnes est toujours simple et pragmatique. Les temps d'excution varient suivant la typologie des traitements. PDI semble moins performant que TOS dans les calculs d'agrgations et les lookups, et meilleur en chargement de donnes pur ou traitement de dimensions lentes. A noter qu'il est possible avec PDI de faire de la rpartition de charge sur plusieurs serveurs lors du traitement de gros volumes de donnes.

Le choix entre les ETL Talend Open Studio et Pentaho Data Integration dpend donc essentiellement de la typologie du projet mener Une analyse pralable est donc ncessaire pour choisir l'ETL qui semble le plus adapt. C'est dans ce cadre que Atol Conseils et Dveloppements peut vous accompagner.

Les PLUS de Pentaho Data Integration

Les PLUS de Talend Open Studio

Une interface simple et intuitive qui permet de raliser Un rfrentiel de mtadonnes qui permet la rutilisation trs rapidement vos premiers traitements des formats de fichiers, des connexions aux bases, ...

Un rfrentiel de stockage des jobs qui peut tre partag La notion de contexte qui permet de switcher par plusieurs dveloppeurs facilement d'un environnement de test un environnement de production

Une parfaite intgration la plate-forme PENTAHO, qui Un outil de planification (scheduler) intgr permet ventuellement la rcupration de donnes dcisionnelles en temps rel

Un forum trs riche et dynamique et un wiki bien Un forum galement dj trs riche document

ANNEXE 1
Liste d' ETL propritaires et Open Source :
Socit Abinitio Altova Attunity Barracuda softw are Benetl Business Objects Cast Iron Systems CA OpenSys Cognos Corporator CoSORT Crossflo Systems Datacyr Corporation Data Exchanger DataHabitat Datamirror D2K Embarcadero Enhydra ETL Solutions ltd ETI GammaSoft Group 1 Hummingbird Information Builders IBM Ikan Informatica iSoft Microsoft Microsoft Oracle Oracle Pentaho Pervasive Pervasive Platinum Pow ershift Sagent Technology SAS Solonde Sterling Commerce Sunopsis Sybase Syncsort Talend W isdomForce ETL Abinitio Mapforce Integration Suite Barracuda Integrator Benetl Data Integrator Cast Iron Integration Appliance Data integrator Clover ETL Decisionstream Transformer CoSORT ETL tools DataExchange DataCyr Transform Data Exchanger DH ETL Datamirror D2K DTStudio Octopus Transformation Manager ETI Solution data'distribution Data Flow Genio iW ay W ebsphere DataStage MetaSuite PowerCenter Amadea DTS Integration Services W arehouse Builder Sunopsis Pentaho Data integration Data Junction Data Integrator & Business Integrator Info Pump Manheim Sagent Solution Data integration W arehouse W orkbench Gentran Integration Suite Data Conductor Data Integration Suite & Data Federation DMExpress Talend Open Studio FastReader Commentaire Freew are Open Source Open Source Market leader Ceased to exist Bundled with SQL server Open Source Acquired by CA. Acquired by Group 1 Previously ETL/Studio Acquired by Sybase Acquired by Oracle

Open Source

ANNEXE 2
Retour d'exprience d'ATOL CD sur l'utilisation d'un ETL Open Source dans un projet.

7.1

UN BESOIN

ET UN

PROJET

CLIENT

La socit Adhrents.coops propose un extranet agricole plus d'une trentaine de coopratives, rparties sur l'ensemble de la France. Cet extranet est un portail destination des agriculteurs qui leur permet d'accder un ensemble d'informations: alertes techniques, informations agronomiques, suivi de leurs compte adhrent, petites annonces, etc...

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.

7.2

MISE

EN PLACE TECHNIQUE

Step 1 : Un prestataire externe dlivre chaque jour (du lundi au vendredi) les cotations Euronext MATIF au format XML, sur un serveur FTP. 3 fichiers sont fournis: 1 pour le bl, 1 pour le mas, 1 pour le colza.

Step 2 : Ces fichiers XML sont ensuite parss pour l'alimentation d'une base PostgreSQL tampon , qui est joue le rle d'entrept de contenu centralis.

Step 3 : Enfin, les bases de donnes postgreSQL sont alimentes en parallle pour assurer une mise jour simultane des extranets des coopratives.

La syntaxe des fichiers XML traiter est la suivante :

Une premire transformation Kettle permet la ralisation du step 2. Elle utilise entre autre l'tape de parsing XML de Kettle v2.4

Un job Kettle permet l'excution de la transformation et la gestion des erreurs.

Le job permet :

de rcuprer par FTP les fichiers XML de lancer le traitement et l'intgration des donnes dans l'entrept central de notifier par mail le bon droulement (ou non) des traitements d'excuter des ordres SQL pour indiquer l'application l'heure des traitements et le bon droulement de ceux-ci.

Dtail du job du step 2 :

Dtail du job du step 3 :

Mise jour en parallle des 30 serveurs extranets :

7.3

RSULTAT

SUR UN EXTRANET

Le rsultat du traitement d'intgration de donnes permet de visualiser quotidiennement partir de 19h45 les cours de clture du MATIF sur chacun des extranets. Les donnes sont prsentes de faon tabulaire et graphiques :

7.4

FEEDBACK

SUR L'UTILISATION DE

PENTAHO DATA INTEGRATION

Dans ce contexte mtier trs prcis, voici les lments que l'on peut retirer de l'utilisation d'un ETL Open Source :

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)

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

7.5

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 !

Sylvain Decloix Fvrier 2008

UAC
Union Adhrents.Coop : Toujours plus !
Qui a dit que les coopratives ne savaient pas prendre le virage des nouvelles technologies ? Certainement pas celles qui, regroupes au sein dAdhrents.Coop, uvrent, depuis plus de cinq ans pour certaines, au dveloppement des outils extranets spcifiques aux mtiers de la cooprative. En quelques annes, Adhrents. Coop est devenu la plateforme de rfrence des portails extranet des coopratives. Aujourdhui, laudience cumule des sites, sappuyant sur le kit dAdhrents. Coop, dpassent les 100 000 visites mensuelles. Cette audience double chaque anne depuis 3 ans, signe que les agriculteurs utilisent de plus en plus ces nouveaux outils qui allient performances, efficacit et disponibilit. Pour encore mieux apprhender les attentes de ses membres et des coopratives sur les nouvelles technologies, Adhrents.Coop a command une enqute exclusive. Cette dernire, mene auprs de 70 coopratives de diffrents secteurs, est riche denseignements et montre lintrt grandissant que portent les coopratives vis--vis des outils internet.

Extranet

Ils nous font confiance :


01 Crgrain 02 Cerena 10 Nouricia 10 Scara 14 Agrial 21 Dijon Crales 28 Agralys 28 Interface 28 Cabep 28 - Scael 40 Masadour 45 Caproga 51 Champagne Crales 51 Cohesis 55 Emc2 57 Lorca 60 Ocal 62 Unal 63 Limagrain 67 Comptoir Agricole 68 Cac Colmar 75 Arvalis Institut du vgtal 75 COOP DE FRANCE mtiers du grain 75 Invivo 75 Sofiprotol 76 Capseine 77 Terres Bocage Gtinais 80 Noriap 89 110 Bourgogne 91 Ile de France Sud

Mettre en place un extranet : de plus en plus frquent et bientt indispensable


Avec 62 % de coopratives quipes, la prsence des sites internet (ouverts sans restriction tout public) est frquente et constitue souvent la premire tape dans lappropriation des outils web. Ces sites destins prsenter lentreprise contiennent rarement des informations mtiers destines aux agriculteurs.

Rejoignez-les !
Si vous souhaitez bnficier dune solution prouve et facile mettre en uvre, rejoignez Adhrent.coop ! Contact : Sbastien Gaborit

Rapport dactivit 2007

- 19 -

Extranet
La commercialisation des crales en ligne senvole !
Pour mieux accompagner les coopratives qui souhaitent mettre en uvre des outils permettant aux agriculteurs de matriser la commercialisation de leurs productions, Adhrents.Coop vient de mettre disposition tout un ensemble de modules de commercialisation via internet : Prix index Matif, Prix du jour, Prix sur contrats. Laccueil trs favorable fait ces nouveaux outils par les agriculteurs et les responsables de coopratives nous renforce dans lide que demain les extranets, pour peu quils apportent un service simple et efficace, deviendront incontournables. La mise en place des extranets est plus limite (47 % des coopratives interroges) mais 80 % des responsables interrogs dclarent que dici quelques annes, il sera indispensable ou important que sa structure en possde un. Face ces attentes, Adhrents.Coop poursuit ses actions pour accompagner les coopratives dans la matrise de ces outils. Avec son kit, Adhrents.Coop permet : De dvelopper un outil indpendant Avec le kit, chaque cooprative garde la matrise de ses informations et de leur distribution. De dployer rapidement un extranet personnalis Fort de son exprience et de sa connaissance, Adhrents.Coop vous

permet de dployer un kit en quelques mois sans mobiliser systmatiquement les quipes informatiques. De bnficier de nouveaux services Chaque anne, Adhrents.Coop dveloppe de nouveaux services qui rpondent aux mieux vos proccupations de distributeur. De matriser son budget Les cots de fonctionnement annuel vous permettent de disposer de lensemble des modules dvelopps, sans cots dinvestissements supplmentaires.

le tout la fois, sa volont daccueillir le plus grand nombre de coopratives

venant dhorizon et de mtiers diffrents et sa capacit offrir des outils modulaires.

Une nouvelle identit visuelle pour de nouvelles ambitions


Pour mieux affirmer son attachement COOP DE FRANCE et faciliter sa reconnaissance, Adhrents.Coop sest dot dune identit visuelle qui rappel-

Rapport dactivit 2007


Directeur de la Publication : Vincent MAGDELAINE Entreprises : Hubert LEGUILLETTE Economie : Vincent MAGDELAINE Environnement : Jacques SAL Services : Rmi PLAU Coordination - Ralisation : Yves BOULAY

11, rue des Halles - 75039 Paris cedex 01 Tl. 01 53 00 90 00 Fax. 01 40 26 64 64 metiersdugrain@coopdefrance.coop www.metiersdugrain.coopdefrance.coop

- 20 -

Rapport dactivit - novembre 2007