IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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

Les ETL Open Source : Une réelle alternative aux solutions propriétaires


précédentsommairesuivant

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 :

Image non disponible
  • Les versions utilisées des 2 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 issu 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 7 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) Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Résultats du Test Image non disponible
(Temps de traitement exprimés en sec.)
Image non disponible

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 :
Image non disponible
Modélisation dans Pentaho Data Integration (PDI) Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Résultats du Test
(Temps de traitement exprimés en sec.) Image non disponible
Image non disponible

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 :
Image non disponible
Modélisation dans Pentaho Data Integration (PDI) Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Résultats du Test Image non disponible
(Temps de traitement exprimés en sec.)
Image non disponible

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 livraisons 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 zone de livraisons (A, B, C, D, ...., X, Y, Z) :
Image non disponible
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 :
Image non disponible
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}
Image non disponible
Modélisation dans Pentaho Data Integration (PDI) Image non disponible
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 :
Image non disponible
L'étape « JavaScript » permet la réalisation des calculs :
Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Le composant tMap, permet à la fois de réaliser le lookup sur la table [produits] et la réalisation des différents calculs :
Image non disponible
Résultats du Test Image non disponible
(Temps de traitement exprimés en sec.)
Image non disponible

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) Image non disponible
Le filtrage des lignes s'effectue de la façon suivante :
Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Comme dans le test 4, c'est le composant tMap qui permet d'isoler les lignes à rejeter :
Image non disponible
Résultats du Test Image non disponible
(Temps de traitement exprimés en sec.)
Image non disponible

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)
Image non disponible
Modélisation dans Pentaho Data Integration (PDI) Image non disponible
Pour que les calculs d'agrégation soit corrects, le flux de données doit être trié par zone de livraison. Détail de l'étape « Agrégation de valeurs » :
Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Pour que les calculs d'agrégation soit corrects, le flux de données doit être trié par zone de livraison. Détail de l'étape « tAggregateRow » :
Image non disponible
Résultats du Test Image non disponible
(Temps de traitement exprimés en sec.)
Image non disponible

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 :
Image non disponible
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 :
Image non disponible
Pour un code produit donné, dès que le prix est différent de celui présent en base, un nouvel enregistrement est créée 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) Image non disponible
Modélisation dans Talend Open Studio Image non disponible
Résultats du Test Image non disponible
(Temps de traitement exprimés en sec.)
Image non disponible

précédentsommairesuivant