Sélectionner une page

ETL vs ELT : points communs et différences

Dans cet article nous allons aborder les différences entre les deux processus d’intégration de données : ETL et ELT.

1. ETL : Définition

ETL signifie “Extract, Transform and Load”, c’est un processus  qui prend les données brutes, extrait l’information nécessaire à l’analyse, la transforme en un format qui peut répondre aux besoins opérationnels et la charge dans un espace de stockage.

Il y a donc 3 phases. La première phase est l’extraction de la donnée (extract) , c’est le moment où vous allez récupérer votre donnée depuis de nombreuses sources à des endroits souvent différents mais pas forcément. Il peut s’agir de feuilles de calculs excel, de fichiers .csv, des données récupérées sur un site internet, d’une base de données, etc.

Ces données extraites sont placés dans un système, au choix de votre entreprise afin de d’être stockées en vue d’être transformées. Il peut s’agir de serveurs locaux, de serveurs cloud, ou de méthodes hybrides. Ces données seront donc stockées dans ce qui va être appelée une zone de préparation pour ensuite aller vers une zone cible.

Voici des exemples où la donnée peut être stockée : un DataWarehouse, un DataLake, ou bien même un Data Lakehouse (voir notre article à ce sujet)

Une fois les données complètement chargées, vient la seconde phase, la phase dite de transformation (transform). Cela signifie que les données vont être converties dans un format approprié dans le but de pouvoir être utilisées par toutes les équipe de Business Intelligence de l’entreprise. Cette transformation de données peut inclure des opérations telles que le nettoyage, l’assemblage et la validation des données. Dans ce processus, cette étape de transformation à lieu dans la zone de transit avant d’être chargée dans la zone cible. Arrive donc l’étape du chargement (load), c’est à dire que la donnée transformée sera acheminée vers la zone cible (par exemple un Data Warehouse), stockées de manière structurée pour ensuite pouvoir être utilisée de tous via des requêtes SQL dans la grande majorité des cas.

2. ELT : Définition

Mais alors que signifie ELT ? Et bien quasiment la même chose : “Extract, Load and Transform”.

L’ELT est dont une variante de l’ETL mais avec un ordre de traitement différent. Dans ce processus, les données brutes sont comme dans l’ETL, extraites de différentes sources. Ce procédé ne change pas. Cependant, au lieu d’être transformées puis stockées, elles ne sont pas chargées dans un espace de traitement temporaire, elle vont êtres chargées directement dans la zone cible en conservant leur format natif (raw data). La phase de transformation se fera au fur et à mesure du besoin de l’utilisateur, directement dans la zone cible. Le flux de travail ELT permet finalement aux membres de l’équipe Data d’extraire, de charger et de modéliser leurs propres données de manière flexible, accessible et évolutive.

    3. ETL vs ELT : lequel utiliser ?

    Comme vous l’aurez compris, la différence entre les deux processus se situe au niveau de la phase de transformation.

    L’ETL et l’ ELT diffèrent sur deux points principaux :

    • Le moment où la transformation est effectuée ;
    • Le lieu de la transformation.

    L’ETL est le choix traditionnel, pourtant ce simple changement d’ordre de réalisation inclut des implications importantes au niveau de l’architecture data.

    La structuration de la donnée avant chargement permet de standardiser les données. Elle comprend le nettoyage, l’enrichissement et la sécurisation des informations. Les équipes sont assurées de travailler avec des fichiers propres, conformes aux cahiers des charges. Inutile de faire le tri ce qui limitent grandement les erreurs.

    Le processus ELT quant à lui est plus permissif, il permet de préserver les données à l’état brut et offre une plus grande flexibilité d’utilisation des données dans le temps.

    Le fait de charger les données avant de les transformer va signifier que toutes les données seront stockées et seront transformées seulement au moment de leur utilisation. Les ELT ont beaucoup de sens lorsqu’une entreprise a besoin de traiter de grands volumes de données (traitement big data par exemple), alors que les ETL sont parfaitement acceptables pour des plus petites quantités de données. L’inconvénient de ce type de processus est que l’ensemble des donnée seront stockées sans exception. Il sera donc nécessaire de mettre en place une gouvernance des données pour en assurer la qualité.

    Le cas échéant cela peut être à l’origine de failles de sécurité sans parler des conséquences financières si la donnée n’est pas en conformité avec la règlementation en vigueur (RGPD par exemple !)

    4. Ce qu’il faut retenir

    Lors d’un projet d’intégration, le choix entre un outil ETL ou ELT peut s’avérer complexe, et ce choix dépendra surtout des réponses aux questions que vous vous poserez. Gardez en tête que les deux processus mènent à une finalité similaire. Voici quelques questions à se poser pour vous aiguiller :

      • Quels sont les besoins de l’organisation ? (Gros volume de données ? Combien d’utilisateurs ?)
      • Quel est le budget alloué ? (choisirez vous plutôt une licence Open Source ou payante au nombre d’utilisateur ?)
      • Quels moyens humains sont à disposition ? (L’entreprise dispose t-elle de Data Engineers, Analytic Engineers, Data Scientists etc.)

      Les questions peuvent être nombreuses, plus le projet sera cadré et plus il vous sera facile de choisir quel processus sera le mieux adapté pour votre entreprise.