Alors que les entreprises font de plus en plus appel à l’analyse de données, les besoins pour des processus efficaces de traitement des données vont crescendo.
Les ETL et ELT sont justement deux outils répondant à ces besoins. ETL est l’acronyme de « Extract Transform Load », tandis que ELT signifie « Extract Load Transform ».
Bien qu’ils aient l’air similaires en apparence, ils répondent à des besoins différents, comme nous allons le voir dans cet article. Mais d’abord, intéressons-nous aux concepts communs aux deux.
Qu’est-ce que ETL et ELT ?
En bref, il s’agit de processus permettant de mettre en place des pipelines de données pour gérer et automatiser le transit et la mise en forme de données entre des sources de données et l’utilisateur final.
Il s’agit donc de l’acronyme de trois mots anglais qui désignent les trois étapes principales entrant en jeu dans ces deux processus :
- « Extract » (extraire) : un processus ETL se connecte à différentes sources (base SQL, fichiers de logs, événements…) pour en extraire les données brutes.
- « Transform » (transformer) : ces données subissent des transformations, à différentes fins : normalisation, standardisation, validation, mise en forme…
- « Load » (stocker) : les données sont stockées grâce à un système de stockage dédié (externe au processus lui-même).
La première différence entre ETL et ELT est l’ordre d’exécution de ces étapes. Cependant, en pratique, les différences les deux processus vont plus loin, comme nous allons le voir plus bas.
Pourquoi mettre en place des processus ETL ou ELT ?
La mise en place et l’utilisation de ces processus peuvent être motivées par différentes raisons :
- centralisation : par nature, ces processus se connectent à plusieurs sources de données et les agrègent ensemble, permettant une meilleure centralisation des informations ;
- automatisation : chaque étape est automatisée et s’exécute soit à intervalle régulier, soit lorsqu’un événement survient. Pas ou peu d’interventions manuelles sont nécessaires ;
- robustesse : l’absence d’intervention humaine permet bien souvent une meilleure robustesse des systèmes, à condition de mettre en place une stratégie de surveillance (monitoring) pour détecter de potentiels problèmes ;
- décompartimenter : selon une étude de 2019, 70 % des entreprises pensent que le manque de contrôle direct sur leurs données est un frein à la réussite. Il est donc crucial de décompartimenter les silos de données pour permettre un accès plus large et direct au sein des entreprises ;
- migration vers de nouveaux systèmes : si vous changez de CRM par exemple, il est nécessaire de pouvoir migrer les données existantes vers ce nouvel outil cible.
Les différences entre ETL et ELT
En plus de l’inversion des étapes « Transform » et « Load » entre ces deux processus, il existe plusieurs différences significatives.
Tout d’abord, il est intéressant de noter que les deux ne sont pas apparus au même moment : les processus ETL ont été popularisés et utilisés bien avant leurs cousins ELT. Ce décalage temporel explique peut-être partiellement un autre point de divergence : les technologies employées.
Le processus ELT s’inscrit dans une logique big data. Par conséquent, il utilise des outils de calcul distribués tels qu’Apache Hadoop et des solutions de stockage de type data lake.
À l’inverse, l’outil ETL, historiquement antérieur, utilise des technologies qui ne sont pas nécessairement spécifiques au big data. En particulier, le stockage se fera couramment via des bases de données RDBMS (SQL).
Les avantages respectifs de ces deux processus
Ces différences technologiques se traduisent par des avantages différents dans chacun des cas.
Les avantages de l’ETL :
- Plus compact : les données sont transformées avant d’être stockées, donc seules les données utiles subsistent. Cela se traduit par un volume de données réduit et donc des coûts réduits (même si le coût de stockage est aujourd’hui assez faible en général).
- Barrière à l’entrée moins élevée : la boîte à outils de l’ETL n’est pas limitée seulement aux technologies big data, qui sont souvent compliquées à mettre en place et à gérer. Donc il sera plus facile de trouver les compétences et d’assurer la maintenance pour une approche ETL.
Les avantages de l’ELT :
- Capacité plus élevée : aussi bien pour l’extraction que pour la transformation de données, l’approche ELT, grâce à l’utilisation de technologies big data, est bien plus capable concernant les volumes de données traités et la vitesse d’exécution.
- Meilleure adaptabilité : dans une approche ELT, les données sont stockées brutes, avant leur transformation. Cela permet de modifier des transformations ou d’en créer de nouvelles a posteriori. Vous serez donc moins limité dans des projets futurs si vous souhaitez exploiter des données passées.
Le choix de l’une de ces deux approches doit se faire en fonction de vos besoins et de vos ressources. Si certains outils ELT, comme Talend, sont aujourd’hui très à la mode, il ne suffit pas de suivre la tendance. Au contraire, il est nécessaire de mettre en place une stratégie data globale à l’échelle de votre entreprise et adaptée à vos problématiques avant de choisir quels outils utiliser.