Au sein de l'entreprise, les données sont si nombreuses que l'on parle parfois d' « infobésité ». Elles sont partout, mais pas toujours à la bonne place, dans différents formats et souvent sans valeur uniforme. Leur traitement représente un enjeu majeur.
Le traitement, oui, mais avec quel outil ? Opter pour un outil ETL ou développer son propre ETL via une approche scriptée ?
Petit point sur la question.
Les outils ETL
Un ETL (Extract Transform Load) est un middleware permettant d’effectuer des synchronisations de données entre différents systèmes. Il extrait les données, les manipule (conversion, suppression des doublons, etc.) et les intègre dans un référentiel commun : l'entrepôt de données (datawarehouse).
La technologie ETL repose sur :
- des connecteurs permettant de récupérer et transférer des données,
- des transformateurs permettant d’effectuer des manipulations complexes sur ces données,
- des mises en correspondance afin de faire correspondre le schéma des données au schéma du ou des systèmes cibles.
Les outils ETL sont des logiciels disposant d’un Environnement de Développement Intégré (IDE). Ils mettent à disposition tous les éléments nécessaires au développement et à la mise en production de flux de transformation et chargement de vos données.
De nombreuses solutions sont disponibles sur le marché :
Avantages d'un outil ETL
- Il dispose de connecteurs bdd, webservices et fichiers plats prêts à l’emploi.
- Il permet de structurer et rassembler l'ensemble des morceaux de code nécessaires aux transferts et aux transformations des données.
- Il offre une représentation graphique des flux et opérations.
- Il permet de traiter rapidement un grand nombre de données.
- Il facilite la maintenance et l'évolution de l'ETL.
- Il gère nativement l’encryption des données.
- Il intègre la gestion des métadonnées, la gestion des erreurs, la gestion des processus et de leur hiérarchie, la gestion de la documentation.
- Il permet un déploiement facile des flux sur un environnement de production.
- Il est appréhendable par une une personne sans connaissances avancées en développement.
- Il gère le load balancing entre serveurs.
- Il est extensible à l’aide de script.
Inconvénients d'une solution ETL
- Il nécessite un ou plusieurs développeurs avec des connaissances sur l’outil d’ETL utilisé ou nécessite un temps d’apprentissage.
- Il est difficilement intégrable à un outil de gestion de versions.
L'approche Scriptée
L’approche scriptée, ou « hand made », consiste à développer le ou les outils nécessaires à la mise en place d’un traitement ETL, à l’aide d’un ou plusieurs langages de programmation.
Ces outils consistent généralement en une combinaison de procédures stockées au niveau des bases de données ainsi que de différents scripts nécessaires au transport des données et aux transformations complexes.
Avantages de l'approche scriptée
- Elle permet une homogénéité technologique avec les solutions déjà en place au niveau du SI.
- Elle permet d’utiliser les langages que les équipes maîtrisent déjà, sans apprentissage et médiation d'un outil tiers.
- Elle peut, dans certains cas, simplifier le traitement des fichiers plats.
- Elle permet une intégration poussée avec des outils de gestion de versions.
Inconvénients du script
- Il nécessite de tout développer.
- Il impose de nombreuses modifications lors d’une modification au niveau de la source, du contenu ou de la destination.
- Il est facteur d’un grand nombre de bugs et de régressions à chaque modification.
- Il nécessite l’utilisation d’un planificateur de tâches externe.
- Il nécessite de tout documenter, au risque de se perdre dans le code produit.
- Il peut être éparpillé sur plusieurs serveurs.
Conclusion : Développements ETL ou rédaction de scripts ?
L’utilisation d’une solution scriptée est envisageable pour des besoins simples. Dès lors que ces besoins évoluent et se complexifient, une réévaluation de la solution s'impose : ne serait-il pas plus opportun de passer à un outil ETL ?
Le coût initial de la mise en place d’un outil ETL et de la formation de ses utilisateurs est vite compensée par sa simplicité d’utilisation et les fonctionnalités prêtes à l’emploi.
Grâce au support fourni par les éditeurs de solution ETL, vous vous affranchissez des tâches inhérentes aux évolutions du cœur de la solution. Vous vous concentrez ainsi sur l'essentiel : solutionner rapidement et simplement votre besoin, à moindre frais.
S'il fut une époque au cours de laquelle les avantages d'un développement maison prenaient le pas sur ceux d'un outil ETL, ce n'est plus le cas aujourd'hui. Bien au contraire, opter pour un outil ETL, c’est s’assurer de la pérennité et de l’adaptabilité de son système de transport et de transformation de données.
Besoin de conseils d'experts pour votre projet ? Nos consultants Next Decision sont là pour vous accompagner, alors Contactez-nous !