ETL vs ELT : les différences clés
Les fondamentaux de l'intégration de données
Lorsqu’on parle d’intégration de données, les mots ETL et ELT reviennent forcément, mais à quoi correspondent-ils et quelles sont leurs différences ? C’est le sujet de cette édition #8 des Insights de Dataseito. On est désormais 1103 🔥
L’ETL
L’approche traditionnelle d’intégration de données est l’ETL. Elle est utilisée depuis des années.
L’idée est simple, on vient récupérer des données qui se trouvent à un endroit A pour les déplacer à un endroit B et si besoin on va les structurer, les nettoyer ou les modifier en chemin.
Si on repart de l’acronyme E.T.L., il signifie :
E pour Extract : c’est à dire la collecte des données que l’on souhaite. Elles peuvent venir de sources de données diverses comme des bases de données, des fichiers plats (.csv, .xlsx, etc.) ou encore d’APIs.
T pour Transform : c’est à dire qu’on va mettre en forme les données pour les structurer en fonction des besoins identifiés. C’est ici qu’intervient le nettoyage des données, et que l’on s’assure de la qualité des données.
Exemples de transformations :
Modification des types ou des formats de données
Suppression des données incohérentes ou inexactes
Suppression des doublons de données
L pour Load : c’est l’étape de chargement des données vers un stockage afin de pouvoir les mettre à disposition. Généralement il s’agit d’une base de données ou d’un Data Warehouse.
Les ETLs sont ainsi particulièrement adaptés aux données structurées. On les retrouve fréquemment dans les architectures BI, ils sont des briqués clés qui permettent l’alimentation des reportings.
Concrètement, il existe un certain nombre de solutions ETL, généralement plus utilisées par des profils Data Engineer ou Analytics Engineer. Elles peuvent être open-source ou propriétaire, on-premise ou encore cloud. Il est aussi possible d’utiliser des langages de programmation comme Python.
Parmi les solutions les plus utilisées :
Talend
Informatica
SSIS
Azure Data Factory
AWS Glue
L’ELT
L’arrivée de l’ère du Big Data et du cloud est venu fortement baisser les coûts de stockage des données et de calcul et par conséquent il est devenu possible de stocker des volumétries quasi illimitées de données.
Pour te donner une idée, entre 1980 et 2020 les coûts liés au stockage pour 1 Giga sont passés de près d’1 million de dollars à quelques centimes.
Et c’est par ce que les environnements ont évolué que les ELTs ont vu leurs essors.
Tu l’auras remarqué par rapports aux ETL les lettres L et le T sont inversés. C’est à dire qu’on charge les données puis on les transforme.
E pour Extract : même logique qu’avec un ETL, on se connecte aux différentes sources de données qui nous intéressent.
L pour Load : cette fois-ci le chargement des données intervient tout de suite après la collecte des données et il se fait généralement dans un Data Lake. Tu vas souvent retrouver comme destination les services cloud Amazon S3, Azure Blob Storage et Google Cloud Storage.
T pour Transform : les transformations sont effectuées en dernier et à la différence des ETLs qui effectuent les transformations dans une zone de transit avec les ELTs, elles sont réalisées directement au niveau de l’endroit où sont stockées les données.
L’idée est de stocker les données pour la rendre le plus rapidement possible accessible. On stocke ici toutes les données brutes.
Une fois les données accessibles, selon les besoins elles vont pouvoir être utilisées notamment par des Data Scientists pour les analyser ou alimenter des modèles de Machine Learning.
Un autre avantage de siloter le chargement et les transformations est de s’assurer qu’en cas de défaillance du côté des transformations, le chargement des données ne soit pas impacté. Cela facilite la maintenance et le debugging des pipelines de données.
Et autant je te disais qu’un ETL est adapté pour manipuler des données structurées, autant un ELT offre plus de flexibilité et peut gérer tous types de données, structurées ou non structurées, notamment des documents et des images.
On retrouve souvent les solutions ELT au sein des au sein des architectures Modern Data Stack et tu croiseras le plus souvent :
Fivetran
Stitch
Matilion
Airbyte
dbt (spécialisé sur le volet des transformations à l’aide du langage SQL)
C’est tout pour aujourd’hui, n’oublie pas de mettre ton plus beau like si le contenu te plait et à très vite 🔥
Claudio de Dataseito





Hello Dataseito,
Merci pour cette article. Une explication claire et nette.
Pouvez vous, nous faire un tuto sur la construction d'un datawarehouse? ainsi que la complexité