Les ETL open source : Une réelle alternative aux solutions propriétaires

Atol Conseils et Développements

D'année en année, l'open source n'a cessé de toucher de nouveaux domaines d'applications.

Après la conquête des systèmes d'exploitation (Linux), des bases de données (MySql, PostgreSql), de l'Internet (serveurs, outils de gestion de contenu web), de nombreuses applications métier 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 décisionnel : reporting, dashboards, analyse multidimensionnelle, data-minining, et bien sûr ETL.

C'est dans un contexte de concentration (*) des grands acteurs commerciaux du domaine et du dynamisme actuel de l'OSBI (**) que nous vous présentons ce livre blanc sur « Les ETL open source ».

Sylvain DECLOIX - Responsable Pôle OSBI
Atol Conseils et Développements
www.atolcd.com

Commentez

- Titre : Les ETL open source : Une réelle alternative aux solutions propriétaires

- Auteur : Atol Conseils et Développements

- Parution : 25 juin 2008

- Mise à jour : 1 mai 2020

- Licence :

Sommaire

- I. Introduction

- II. Qu'est-ce qu'un « ETL » ?

- III. Pourquoi utiliser un ETL open source ?

- IV. Notre comparatif « Talend Open Studio »/« Pentaho Data Integration »

- IV-A. Présentation de Talend Open Studio

- IV-B. Présention de Pentaho Data Integration

- IV-C. Comparatif des fonctionnalités

- IV-C-1. Accès aux données

- IV-C-2. Déclenchement des processus

- IV-C-3. Traitement des données

- IV-C-4. Traitement des données

- IV-C-5. Développement avancé

- IV-C-6. Déploiement/Mise en production

- IV-C-7. Administration

- IV-C-8. Gestion de la sécurité

- IV-D. Comparatif des temps de traitements

- IV-D-1. Méthodologie de réalisation des tests

- IV-D-2. Test n°1

- IV-D-3. Test n°2

- IV-D-4. Test n°3

- IV-D-5. Test n°4

- IV-D-6. Test n°5

- IV-D-7. Test n°6

- IV-D-8. Test n°7

- V. Conclusion

- VI. Annexe 1

- VII. Annexe 2

- VII-A. Un besoin et un projet client

- VII-B. Mise en place technique

- VII-C. Résultat sur un extranet

- VII-D. Feedback sur l'utilisation de « Pentaho Data Integration »

I - Introduction

Depuis quelques années, des ETL open source ont fait leur apparition au milieu de la multitude des ETL propriétaires (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 décisionnelles open source ambitieuses et déjà matures.

Des sociétés telles que Pentaho (www.pentaho.fr), SpagoBI (www.spagobi.org), JasperIntelligence (www.jasperforge.org), Talend (www.talend.com) ont ainsi contribué à l'émergence et la démocratisation de ces ETL open source.

Parmi ceux-ci, nous avons voulu effectuer une analyse comparative détaillée 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 intéressants en termes :

- de fonctionnalités proposées ;

- de maturité ;

- de pérennité.

Pentaho Data Integration (« PDI ») et Talend Open Studio (« TOS ») peuvent répondre de façon équivalente à la plupart des ETL propriétaires disponibles sur le marché.

Atol Conseils et Développements est ainsi en mesure de vous apporter conseil, support et assistance dans la la mise en œuvre de projets spécifiques utilisant l'un de ces deux ETL open source.

Vous trouverez en Annexe 2 un exemple de projet réalisé avec Pentaho Data Integration.

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 données depuis des sources diverses (bases de données, fichiers) vers des cibles préalablement définies.

De nombreux systèmes de gestion de bases de données sont supportés 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 différents scénarios d'intégration.

Le travail des développeurs en est ainsi grandement facilité, tant au niveau de la conception que de la maintenance des traitements de données.

Les ETL sont communément utilisés dans l'informatique décisionnelle afin de permettre l'alimentation des datawarehouses (entrepôts de données).

Ces derniers servent de supports pour l'analyse des données sous plusieurs formes :

- rapports et états,

- tableaux de bord (dashboards, balanced scorecard) ;

- indicateurs de performance (« KPI ») ;

- analyse multidimensionnelle (OLAP) ;

- analyse exploratoire (Data-Mining).

Ainsi, les ETL proposent dans la plupart des cas des fonctionnalités propres à l'alimentation des datawarehouses :

- création de clés techniques (« Surrogate keys ») ;

- mise à jour de type « dimension Lente » (« Slow Changing Dimension ») ;

- agrégation de données ;

- alimentation de bases multidimensionnelles (tables de faits et dimensions).

Les volumes de données traités sont toujours très importants, ainsi les critères de performance sont primordiaux dans le choix d'un ETL.

III - Pourquoi utiliser un ETL open source ?

Le choix le plus difficile dans tout projet décisionnel ou d'intégration/migration de données consiste à déterminer quelle méthode doit être mise en œuvre :

1. Faut-il créer du code spécifique (procédures SQL, code Java ou autre) ?

2. Faut-il acheter un ETL propriétaire (Informatica, Oracle Warehouse Builder, BO Data Integrator ou autre) ?

La première solution semble intéressante, car elle permet de rester au plus près des spécificités métier des données à traiter, tout en s'affranchissant des contraintes liées à l'achat et l'utilisation d'un ETL propriétaire. Cependant, cette solution peut s'avérer coûteuse à long terme, tout simplement, car l'évolutivité constante des données métier entraîne une nécessaire adaptation des traitements d'intégration. Celle-ci n'est pas toujours facile à gérer, surtout si les équipes projets évoluent au cours du temps.

La deuxième solution va permettre de mettre en œuvre très rapidement les traitements d'intégration, avec cependant des coûts élevés (achat des licences, formations…) et ceci dès la phase de démarrage du projet.

Il existe désormais une solution alternative : Utiliser un ETL open source.

On bénéficie ainsi des avantages d'un ETL tout en gardant une maîtrise lissée des coûts.

Ces derniers sont en effet réduits aux coûts de formation initiale de l'outil et d'une éventuelle souscription à une hot-line technique. Aucune licence n'est à payer dans ce modèle économique.

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

IV - Notre comparatif « Talend Open Studio »/« Pentaho Data Integration »

IV-A - Présentation de Talend Open Studio

Talend Open Studio est développé par Talend (www.talend.com), une société française dynamique et relativement jeune. La première version de « Talend Open Studio » a vu le jour au 2e semestre 2006, et la version actuelle est la 2.3.

Talend Open Studio est un ETL du type « générateur de code ». Pour chaque traitement d'intégration de données, un code spécifique est généré, ce dernier pouvant être en Java ou en Perl. Les données traitées et les traitements effectués sont donc intimement liés.

Talend Open Studio utilise une interface graphique, le « Job Designer » (basée sur Eclipse RCP) qui permet la création des processus de manipulation de données :

De nombreux types d'étapes 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 requêtes dans les bases de données en détectant le schéma et les relations entre tables.

Un référentiel permet de stocker les métadonnées afin de pouvoir les exploiter dans différents jobs.

Par exemple on peut sauvegarder le type et le format des données d'entrée d'un fichier CSV afin de pouvoir les exploiter ultérieurement.

Une gamme complète de composants

Le Job Designer intègre une « Component Library » : une palette graphique de composants et connecteurs.

Les processus d'intégration sont construits simplement en déposant des composants et connecteurs sur le diagramme, en dessinant leurs connexions et relations, et en modifiant leurs propriétés.

La plupart de ces propriétés peuvent être issues des métadonnées déjà définies.

La Component Library inclut plus de 80 composants et connecteurs, fournissant des fonctions basiques telles que des associations, transformations, agrégations et recherches, des fonctions spécialisées comme le filtrage de données, le multiplexage de données…

Cette librairie supporte tous les principaux SGBDR, formats de fichiers, annuaires LDAP…

La Component Library peut facilement être complétée en utilisant des langages standards tels que Perl, Java ou SQL.

Des traces et statistiques d'exécution en temps réel

La conception très visuelle des « jobs » permet de présenter des statistiques d'exécution en temps réel ou encore de tracer les données transitant ligne à ligne dans les composants de la chaîne de traitement.

Quand un job d'intégration est lancé via le Job Designer (en mode graphique), il est possible d'afficher les statistiques de traitement en temps réel, montrant le nombre de lignes traitées et rejetées, ainsi que la vitesse d'exécution (lignes par secondes). On peut ainsi repérer immédiatement les goulots d'étranglement.

Il est aussi possible d'activer un mode de traçage, qui affiche pour chaque ligne le comportement adopté et montre le résultat des transformations. Les fonctionnalités de débogage traditionnelles sont évidemment disponibles.

L'enrichissement des traitements par ajout de code spécifique

La totalité du code généré par Talend Open Studio, quel que soit le langage cible, est toujours visible et accessible depuis l'environnement de conception.

On peut bien sûr implémenter des spécificités « métier » propres aux données traitées, ceci en ajoutant de nouvelles « routines ».

Exemple de code généré par Talend Open Studio

Intégration dans les suites décisionnelles open source

Talend est partenaire des éditeurs des suites décisionnelles SpagoBI et JasperIntelligence.

IV-B - Présention de Pentaho Data Integration

Pentaho Data Integration est l'ETL de la suite décisionnelle open source Pentaho.
Cet ETL, « Kettle » à l'origine, est le fruit du travail de Matt Casters, un consultant BI qui l'a développé à l'origine pour ses propres besoins au début des années 2000.

Courant 2006, Matt Casters rejoint la société Pentaho, et « Kettle » devient « Pentaho Data Integration ».

Les nouvelles versions s'enchaînent alors à un rythme soutenu. La prochaine version est la 3.0.2 qui doit sortir courant février 2008.

Contrairement à Talend Open Studio, Pentaho Data Integration est un « moteur de transformation » ETL : les données traitées et les traitements à effectuer sont parfaitement séparés. (on parle de « meta-data driven » ETL).

Les traitements sont stockés dans un référentiel (repository) qui peut être soit au format XML (fichiers plats), soit dans une base de données (ce qui permet notamment le partage entre plusieurs designers).

Tout comme Talend Open Studio, de nombreux types de SGBD sont supportés (une trentaine) ainsi que tous les types de fichiers plats (Csv, délimité, Excel, XML).

Pentaho Data Integration dipose d'une interface graphique « Spoon » (basée sur SWT), depuis laquelle on peut créer deux types de traitements :

- des transformations : celles-ci constituent les traitements de base d'intégration de données avec toutes les étapes (steps) nécessaires à l'extraction, la transformation, et le chargement des données ;

- des tâches (jobs) : ceux-ci permettent le séquencement de plusieurs transformations avec des fonctionnalités plus orientées « EAI » : gestion des erreurs, envoi de mails de notification, transferts FTP/SFTP, exécution de scripts shell ou SQL, etc.

Caractéristiques de Pentaho Data Integration

- Un produit sous licence GNU disponible sur plusieurs systèmes d'exploitation :

- Une suite de 3 composants: L'interface graphique « Spoon », les déclencheurs en mode batch pour les transformations (« Pan ») et les jobs (« Kitchen »).

- Une installation simple (un dossier à décompresser) => un environnement d'exécution JAVA 1.5 suffit.

- La possibilité de prévisualiser les flux de données traitées, et ceci pour une étape donnée.

- La possibilité d'exécuter les traitements sur le poste local, un serveur distant, ou un ensemble de serveurs (exécution en « grappe »; clustering).

- La possibilité de logger les traitements dans une base de données spécifique.

- L'intégration parfaite avec la plate-forme décisionnelle Pentaho. Par exemple, les flux de données en provenance de l'ETL peuvent servir à alimenter des rapports ou des dashboards en temps réel.

Spoon, l'interface graphique de création des transformations et jobs :

Spoon, le suivi des traitements « real time » :

Briques de traitements de données (liste non exhaustive) :

Step

Etape

Description

Extraction depuis EXCEL

Extraction de données depuis un ou plusieurs onglets d'un fichier XLS

Extraction depuis ACCESS

Extraction de données depuis une table d'une base Access

Extraction depuis une base de données

Extraction de données depuis une table d'un SGBD (Oracle, MySql, Postgres, SQLServer, DB2, AS400, SAP, etc.) : 30 SGBD supportés via JDBC et/ou ODBC

Extraction depuis un fichier

Extraction de données depuis un fichier CSV ou de type « délimité »

Extraction depuis un fichier XML

Extraction de données depuis un fichier XML

Extraction depuis un annuaire

Extraction de données depuis un annuaire de type LDAP

Alimentation base de données

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

Recherche dans base de données

Recherche des enregistrements dans une base de données selon une liste de valeurs

Recherche dans un flux

Recherche des enregistrements dans un flux de données selon une liste de valeurs

Normalisation Ligne

Normalise des informations

Dénormalisation ligne

Dénormalisation de lignes

Ajout séquence

Ajoute une séquence (calculée ou récupérée depuis une base de données)

Filtrage de ligne

Permet de diriger les flux de données vers deux cibles différentes selon un ou plusieurs critères

Agrégation de données

Permet de réaliser des calculs d'agrégation sur un ensemble de lignes (somme, moyenne, min, max, count, etc.)

Calculs

Permet de créer des données calculées à partir des données traitées

Stockage des traitements au format XML

Les jobs et transformations sont stockés dans un métalangage, qui peut être soit stocké au format XML, soit dans une base de données.

IV-C - Comparatif des fonctionnalités

IV-C-1 - Accès aux données

Accès aux données relationnelles (SGBD)

Fichiers plats

Connecteurs applicatifs

Autres

IV-C-2 - Déclenchement des processus

Déclenchement par message

Déclenchement par type de polling

IV-C-3 - Traitement des données

Transformations et calculs par défaut

Attention : les étapes marquées « NON » ci-dessus sont seulement pour la prise en charge automatique. Les deux outils fournissent, bien sûr, un mécanisme de requêtage directement en SQL qui permet de faire toutes les jointures et les requêtes imbriquées…

Transformations manuelles

IV-C-4 - Traitement des données

IV-C-5 - Développement avancé

IV-C-6 - Déploiement/Mise en production

IV-C-7 - Administration

IV-C-8 - Gestion de la sécurité

IV-D - Comparatif des temps de traitements

IV-D-1 - Méthodologie de réalisation des tests

Les performances des temps de traitements sont un critère important dans le choix d'un ETL.

Les résultats des tests qui sont donnés dans les paragraphes suivants correspondent à des cas simples et ne peuvent en aucun cas préjuger des performances réelles en environnement de production.

Seuls des tests poussés sur des traitements d'intégration réels peuvent permettre de qualifier définitivement l'ETL choisi.

- L'ensemble des tests ont été effectués sur un PC portable Dell

Les caractéristiques techniques sont les suivantes :

- Les versions utilisées des deux ETL sont les suivantes :

- Pentaho Data Integration v3.0.1 ;

- Talend Open Studio v2.2.3.

- Pour chaque test, les résultats présentés sont issus d'une moyenne de trois essais réalisés dans des conditions identiques.

- Tous les traitements sont lancés 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 réalisés uniquement en code généré en Java pour Talend Open Studio, afin que l'on puisse comparer de façon objective ceux obtenus avec Pentaho Data Integration, dont le moteur est écrit en Java.

IV-D-2 - Test n°1

Descriptif

1. Extraction des données d'un fichier CSV

2. Chargement des données dans un autre fichier CSV

- le séparateur « ; » du fichier initial est remplacé par le séparateur « , ».

Détails

Le fichier d'entrée comporte sept champs typés

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.

Modélisation dans Pentaho Data Integration (PDI)

Modélisation dans Talend Open Studio

Résultats du Test

(Temps de traitement exprimés en sec.)

IV-D-3 - Test n°2

Descriptif

1. Extraction des données d'un fichier CSV

2. Chargement des données dans un fichier XML

Détails

Le fichier d'entrée comporte 7 champs typés (même fichier que Test1)

Le fichier de sortie est un fichier XML dont la structure est la suivante :

Modélisation dans Pentaho Data Integration (PDI)

Modélisation dans Talend Open Studio

Résultats du Test

(Temps de traitement exprimés en sec.)

IV-D-4 - Test n°3

Descriptif

1. Extraction des données d'un fichier CSV

2. Chargement des données dans une table Postgresql

Détails

Le fichier d'entrée comporte 7 champs typés (même fichier que Test 1 et 2)

La table Postgresql chargée comporte les champs suivants :

Modélisation dans Pentaho Data Integration (PDI)

Modélisation dans Talend Open Studio

Résultats du Test

(Temps de traitement exprimés en sec.)

IV-D-5 - Test n°4

Descriptif

1. Extraction des données d' un fichier « commandes » (format) CSV

2. Chargement des données dans une table [livraisons] avec calcul du délai de livraison et du montant global de chaque commande. Récupération du nom littéral du produit via un « lookup » sur la table [produits] à partir de son code.

Détails

Le fichier « commandes.csv » possède la structure suivante. Il existe 26 zones de livraisons (A, B, C, D, … , X, Y, Z) :

La table [produits] possède la structure suivante. Cette table (générée aléatoirement pour les tests) contient le code et la description de 100 000 produits :

La table cible [livraisons] doit contenir les données ci-dessous après traitement :

[livraisons].[montant]= {prix_unit} x {qte}

[livraisons].[delai]= {date_livr} - {date-cmde}

[livraisons].[desc_complete]= Texte comprenant {description produit} et {zone_livraison}

Modélisation dans Pentaho Data Integration (PDI)

Le lookup sur la table [produits] permet de ramener la description du produit à partir du code produit présent dans le fichier d'entrée :

L'étape « JavaScript » permet la réalisation des calculs :

Modélisation dans Talend Open Studio

Le composant tMap, permet à la fois de réaliser le lookup sur la table [produits] et la réalisation des différents calculs :

Résultats du Test

(Temps de traitement exprimés en sec.)

IV-D-6 - Test n°5

Descriptif

Test identique au Test 4, sauf qu'on isole au début du traitement toutes les données provenant venant des zones de livraisons codées W, X, Y et Z

Ces lignes isolées sont exportées dans un fichier CSV pour traitement ultérieur.

Détails

Le fichier CSV des lignes rejetées contient ainsi le code produit et la zone de livraison rejetée associée (W, X, Y ou Z)

Modélisation dans Pentaho Data Integration (PDI)

Le filtrage des lignes s'effectue de la façon suivante :

Modélisation dans Talend Open Studio

Comme dans le test 4, c'est le composant tMap qui permet d'isoler les lignes à rejeter :

Résultats du Test

(Temps de traitement exprimés en sec.)

IV-D-7 - Test n°6

Descriptif

Test identique au Test 5, avec alimentation d'une table d'agrégation [livraisons_stats]

Détails

La table d'agrégation [livraisons_stats] doit contenir les données ci-dessous après les traitements suivants. Le groupement de données 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)

Modélisation dans Pentaho Data Integration (PDI)

Pour que les calculs d'agrégation soient corrects, le flux de données doit être trié par zone de livraison. Détail de l'étape « Agrégation de valeurs » :

Modélisation dans Talend Open Studio

Pour que les calculs d'agrégation soient corrects, le flux de données doit être trié par zone de livraison. Détail de l'étape « tAggregateRow » :

Résultats du Test

(Temps de traitement exprimés en sec.)

IV-D-8 - Test n°7

Descriptif

Utilisation d'une étape de traitement « Dimension lente » de type 2

Pour plus d'infos sur les différents types de « Slow Changing Dimension » consulter la page :

http://en.wikipedia.org/wiki/Slowly_changing_dimension

Détails

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é, dès que le prix est différent de celui présent en base, un nouvel enregistrement est créé avec un nouveau numéro de version. La période de validité est également mise à jour (date_debut, date_fin)

Modélisation dans Pentaho Data Integration (PDI)

Modélisation dans Talend Open Studio

Résultats du Test

(Temps de traitement exprimés en sec.)

V - Conclusion

À 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 spécificités, et sont donc de ce fait plus complémentaires que « concurrents » ;

ce sont des alternatives réelles à des ETL propriétaires 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 réaliser très rapidement vos premiers traitements

Un référentiel de métadonnées qui permet la réutilisation des formats de fichiers, des connexions aux bases…

Un référentiel de stockage des jobs qui peut être partagé par plusieurs développeurs

La notion de « contexte » qui permet de switcher facilement d'un environnement de test à un environnement de production

Une parfaite intégration à la plate-forme PENTAHO, qui permet éventuellement la récupération de données décisionnelles en temps réel

Un outil de planification (scheduler) intégré

Un forum très riche et dynamique et un wiki bien documenté

Un forum également déjà très riche

VI - Annexe 1

Société

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

VII - Annexe 2

VII-A - Un besoin et un projet client

En 2007, en lien direct avec l'explosion des cours des céréales, il a été décidé de mettre en place un service en ligne de « Bourse aux céréales » afin de permettre aux céréaliers d'avoir un minimum de garanties concernant les prix de vente et d'achat des céréales.

C'est dans ce contexte que l'ETL Pentaho Data Integration a été mis en place pour récupérer les cotations EuroNext MATIF du blé, du colza et du maïs, et ainsi permettre une mise à jour quotidienne des services de bourse disponible sur une trentaine d'extranets.

VII-B - Mise en place technique

La syntaxe des fichiers XML à traiter est la suivante :

Le job permet :

- de récupérer par FTP les fichiers XML ;

- de lancer le traitement et l'intégration des données dans l'entrepôt central ;

- de notifier par mail le bon déroulement (ou non) des traitements ;

- d'exécuter des ordres SQL pour indiquer à l'application l'heure des traitements et le bon déroulement de ceux-ci.

- Détail du job du step 2 :

- Détail du job du step 3 :

Mise à jour en parallèle des 30 serveurs extranets :

VII-C - Résultat sur un extranet

Le résultat du traitement d'intégration de données permet de visualiser quotidiennement à partir de 19h45 les cours de clôture du MATIF sur chacun des extranets.

Les données sont présentées de façon tabulaire et graphique :

VII-D - Feedback sur l'utilisation de « Pentaho Data Integration »

Dans ce contexte métier très précis, voici les éléments que l'on peut retirer de l'utilisation d'un ETL open source :

- Phase de Conception/Développement :

L'utilisation de Pentaho Data Integration est très simple et intuitive, il n'y a pratiquement aucun code à écrire pour la conception et la définition des traitements d'intégration.

Il y a donc des gains conséquents en terme de développement, 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 prévisualisation de l'ETL permettent de tester efficacement les traitements lors de la phase de développement.

- Phase d'installation :

Il suffit d'installer Pentaho Data Integration sur le serveur cible (décompression d'un zip, installation de java 1.5 si besoin), puis ensuite de planifier les traitements batch (via crontab sous Linux).

Le déploiement des jobs peut se faire par recopie du « repository » de DEV sur le serveur de PROD (remontée du dump de la bdd du repository kettle)

- Phase de production :

Chaque jour, les mails de notification permettent d'être informés du bon déroulement des traitements.

À ce jour, aucun « plantage » n'a été constaté depuis la mise en production effectuée le 23 mai 2007.

- Maintenance :

La maintenance évolutive ou corrective est grandement simplifiée du fait de la vision graphique des traitements et du découpage de ceux-ci en briques élémentaires.

Si jamais un jour il faut aller chercher les données via webservice, il suffira de remplacer l'étape « parsing XML » par un «webservice call »

- Coûts de licences :

Aucun