Skip to Content

ETL (Extract Transform Load)

Définition courte

L’ETL signifie l’Extraction, la Transformation et le Chargement de données.

Un ETL est un outil qui collecte et traite (presque en temps réel) des données provenant de diverses sources pour ensuite les envoyer dans un espace de stockage (data lake, data warehouse) à des fins d’analyse et de Business Intelligence. 

Un outil d’ETL permet de gagner un temps considérable sur l’extraction et la préparation des données. Il permet également de réduire le risque d’erreur humaine. 

Aujourd’hui, avec les quantités de données qu’une entreprise génère, un ETL demeure essentiel pour mener à bien l’analyse de données business et prendre de meilleures décisions stratégiques au jour le jour (sans perdre trop de temps). 

Extract : extraction des données brutes depuis les différentes sources.

Transforme : nettoyage et formatage des données.

Load : transfert des données transformées vers un data warehouse / data lake.

Pour approfondir

Pourquoi utiliser un ETL dans une entreprise ?

Un ETL répond à un besoin spécifique bien particulier : extraire et adapter les données que l’on reçoit pour les rendre compatibles avec le Data Warehouse qu’on utilise.

Prenons l’exemple d’une société qui dispose de plusieurs filiales dans le monde. Chacune de ces filiales n’a pas forcément le même format de données que son voisin, et il faut donc une étape d’homogénéisation pour les rendre compatibles dans une base de données commune. L’ETL sert de pont entre les données de chacune des filiales et la base de données du Data Warehouse. Comme son nom l’indique, l’ETL (Extract – Transform – Load) se décompose en trois phases :

Tout d’abord, il extrait les données des différentes sources de données d’une filiale. C’est l’opération d’extraction.

Les sources utilisables par un ETL sont nombreuses et dépendent de son cas d’usage. On peut notamment citer  :

  • Des bases de données
  • Des données d’API (par exemple, des données publicitaires via l’API Facebook Ads,  Google Ads, TikTok Ads, Big Ads, Snapchat Ads, etc) 
  • Des logiciels CRM / ERP
  • Des articles de journal dématérialisés
  • Des fichiers audio ou vidéo
  • etc

Ensuite, il traite et formate ces données pour les rendre normalisées. Si les deux filiales ne parlent pas la même langue, un pays pourra s’appeler “Italy” dans une des filiales et “Italie” dans une autre. Il faut faire correspondre les données inscrites quitte à devoir les modifier, voire à avoir de la perte de données en les agrégeant. Si une filiale obtient un niveau de détail plus fin qu’une autre, ses données doivent être agrégées pour être au même niveau. C’est l’étape de transformation. C’est souvent l’étape la plus longue pour mettre en place un connecteur le plus efficace possible. Cependant, dans le cas d’un Data Lake, c’est une étape inexistante, les données étant transférées sous la forme la plus brute possible.

Enfin, les données sont ajoutées au Data Warehouse centralisé. C’est l’étape de chargement.

Évidemment, il n’est pas nécessaire d’être une très grande entreprise pour utiliser un ETL ! Si vous prenez une entreprise qui fait à la fois de l’e-commerce mais aussi de la vente en magasin, la même problématique se pose pour faire correspondre les données à un niveau central : les données ne seront pas forcément les mêmes, ou ne seront pas immédiatement compatibles, et auront besoin d’un traitement pour permettre de les comparer de façon pertinente. 

Il est d’ailleurs très probable que vous utilisiez des ETL sans même le savoir. Beaucoup d’ETL sont en fait partiellement intégrés dans les logiciels de traitement de données les plus communs. Tous les outils de data visualisation , aussi appelés outils de dataviz (Tableau, Power BI, Qlik, Google Data Studio, …), intègrent des ETL dans leur logiciel. C’est ce qu’ils appellent généralement des connecteurs. Imaginez que vous deviez vous-même faire la passerelle entre votre base de données Postgres et un tableur sous format Excel ? Ces fonctionnalités sont prises en charge par des ETL, qui se chargent d’extraire, de normaliser vos données, et de les restituer dans la base de données propriétaire de l’outil que vous utilisez. 

Une autre utilisation des ETL réside dans la migration d’un Data Warehouse vers un autre. Si vous devez transférer et utiliser des données issues de vieilles bases de données ou homogénéiser des bases de données suite à une fusion avec une autre entreprise, vous devrez créer ou faire créer un ETL pour effectuer vos migrations. 

J’ai besoin d’utiliser un ETL pour mon entreprise, quels sont vos conseils ?

Plusieurs options s’offrent à vous pour utiliser vos données de la façon la plus pertinente pour vous. Une des questions que vous devez vous poser est la suivante : est-ce que mon entreprise dispose de suffisamment de moyens humains et matériels pour créer son propres ETL ? Si oui, vous pouvez commencer à créer vos propres ETL : prenez votre éditeur de texte préféré sur le langage de programmation utilisé par votre entreprise et c’est parti !

Chez Boryl on utilise Python & Apache Airflow avec nos clients : un combo ultra puissant ! 😉 

Si l’idée de réinventer la roue ne vous enchante pas, de nombreuses entreprises parmi les géants du numérique proposent en partie de quoi vous satisfaire. Evidemment, certaines connexions ne sont pas prises en compte, et il vous faudra de l’huile de coude pour créer certains connecteurs, mais c’est un excellent point de départ pour la plupart des cas d’usage que peuvent avoir un ETL. Comme pour les Data Warehouse ou les Data Lake, chaque géant y va de sa solution :

  • AWS Glue, la solution d’Amazon
  • Data Factory, de Microsoft Azure
  • Data Integrator, de Oracle
  • Cloud Data Fusion, de Google

Ces outils comportent généralement plus qu’un “simple” ETL et sont des outils performants, surtout s’ils sont utilisés en synergie avec les autres outils du même éditeur. Cloud Data Fusion a de très bonnes synergies avec Google Big Query et Google Cloud Storage par exemple, de même que Data Factory avec toute la suite de logiciels Microsoft. Si vous comptez payer pour un ETL, nous vous conseillons donc de surtout prendre en compte dans votre choix les autres logiciels que votre entreprise utilise, car l’ETL est, par sa nature, amené à se connecter et à échanger des données avec les autres logiciels de votre entreprise. Il est donc primordial de ne pas perdre trop de temps à trouver des solutions pour connecter votre ETL au reste de votre architecture logicielle.

Consultez aussi…

GLOSSAIRE

Recherchez les définitions qui vous manquent !

BUSINESS CASES

Les cas d’étude de nos clients !

BLOG

L’actu data, par BORYL !

Travaillons ensemble dès maintenant !
CONTACTEZ-NOUS
Back to top