Les meilleures pratiques ETL révèlent une transformation surprenante dans l’intégration des données, répondant aux défis des volumes massifs. Cette étude propose une approche innovante, essentielle pour optimiser le traitement des données hétérogènes, avec des implications significatives pour les entreprises modernes.
Les variantes améliorées des outils ETL
Les nouvelles variantes d’outils ETL, présentées dans cette section, ont été proposées par les industriels du logiciel pour surmonter les problèmes induits par l’augmentation du volume de données.
Extract, Load and Transform (ELT)
La première version améliorée est l’outil ELT (Extract, Load and Transform). De toute évidence, les outils ELT sont une évolution de l’approche ETL classique. Il existe une différence essentielle entre les outils ETL et ELT. En effet, l’ETL transforme les données avant de les charger dans les systèmes cibles, tandis que l’ELT transforme les données directement dans ces systèmes. Cette distinction sous-tend de nombreux processus en aval et elle est pertinente pour les étapes qui suivent.
Un outil ELT consiste, tout simplement, à extraire les données brutes à partir des différentes sources, puis de les charger directement dans une source de données cible (généralement un entrepôt de données ou un lac de données) avant même leur transformation. Contrairement à l’approche ELT classique qui implique la transformation des données dans le système cible avant leur chargement, ELT réduit, par son mécanisme d’anticipation, le besoin d’infrastructure physique et de niveaux intermédiaires.
La figure 3.1 illustre la différence entre les outils ETL et ELT.
[12_meilleures-pratiques-etl-pour-integration-des-donnees_19]
Figure 3.1 – Séquencement des étapes ETL vs ELT
Tandis que les outils ETL sont responsables de l’exécution du processus de préparation des données, au cours duquel les données sont nettoyées et prêtes à être transformées, pour ELT la préparation des données se produit après le chargement des données dans un entrepôt de données, un lac de données ou un emplacement de stockage de données dans le cloud. Cette façon de faire vise à augmenter l’efficacité et réduire la latence. Par conséquent, les meilleurs outils ELT mettent moins de pression sur la source de données initiale et éliminent complètement les étapes intermédiaires de l’ETL, puisque la majeure partie du traitement des données se produit dans le système cible.
Dans la pratique, il a été observé que lorsqu’il s’agit de traiter des données à grande échelle, les outils ELT sont nettement plus performants que les outils ETL et puisque ces mécanismes utilisent leurs propres serveurs et moteurs pour transformer les données, tous ces pétabits de données provoquent facilement des engorgements avec les outils ETL. De plus, ces engorgements ETL sont susceptibles de prolonger considérablement la latence pour accéder et à analyser des données dans les entrepôts de données. Ce qui signifie que la complexité de cette transformation est encore accrue par le mélange de données semi-structurées et non structurées qui peuplent systématiquement les sources de données massives [41].
Streaming ETL (S-ETL)
Le streaming ETL est le traitement et le déplacement en temps réel des données d’un emplacement physique à un autre de manière continue. Dans ce mécanisme, l’ensemble du processus est effectué pour les données de streaming en temps réel dans une plateforme de traitement de flux. Ce type d’ETL s’avère très important compte tenu de la vitesse à laquelle les nouvelles technologies génèrent d’énormes quantités de données à un rythme sans précédent. Nous décrivons ci-dessous le fonctionnement d’une telle architecture.
L’architecture de streaming en temps réel et l’architecture ETL traditionnelle sont fondamentalement de même nature, et comme le processus ETL se compose principalement des sources de données, d’un moteur ETL et d’une destination, dans l’architecture de streaming en temps réel les données proviennent des sources de données, elles sont ensuite utilisées comme entrée des outils ETL afin de traiter et transformer les données.
[12_meilleures-pratiques-etl-pour-integration-des-donnees_20]
Figure 3.2 – Mécanisme de fonctionnement d’un outil Streaming-ETL
Comme il est observé dans la figure 3.2, les données transformées sont transférées de manière progressive vers un entrepôt de données situé au centre de la partie données du système. Par la suite, toutes les données sont transmises de l’entrepôt de données aux applications et aux requêtes. Les sources de données alimentent en données les plateformes de streaming qui agissent comme l’épine dorsale des applications ETL de streaming. Les applications ETL peuvent extraire des flux de données à partir des sources, ou les sources de données peuvent pousser ou publier des données vers des outils ETL en vue de leur transformation. Ensuite, après avoir traité les données, elles seront transférées vers la destination (entrepôt de données). Dans le contexte des données temps-réel, les événements produits et enregistrés dans les sources surgissent un par un en temps réel. Comme ces données fournissent toujours de nouvelles données dès qu’elles sont disponibles, alors la latence des données exige une exploitation immédiate après enregistrement. Cela aide ensuite à réduire les coûts, puisque l’administrateur des données n’aura pas besoin d’exécuter les opérations sur un petit serveur. Donc en résumé, les outils S-ELT servent à répondre aux nouvelles données en temps réel au fur et à mesure que ces données sont générées [42].
La figure 3.2 illustre la plateforme Stream Process qui sert de colonne vertébrale aux applications streaming ETL, où l’application ETL de diffusion en continu peut extraire des données de la source, sachant que la source peut publier des données directement dans l’application ETL. Lorsqu’un processus streaming ETL se termine, il peut transmettre des données vers la droite à une destination (potentiellement un entrepôt de données). Ou bien il peut renvoyer un résultat à la source d’origine sur la gauche. En outre, il peut fournir simultanément des données à d’autres applications et référentiels.
Pipe line de données : Data Pipe line
Par analogie au pipeline servant au transport à grande distance et en grande quantité de fluides (pétrole, gaz naturel, . . .), un pipeline de données est un enchaînement d’étapes qui vise à traiter les données et les transférer d’un système à un autre dans un ordre spécifique. Son mécanisme de fonctionnement est basé sur l’extraction des données de la source en entrée comme une première phase, puis la génération de la sortie de chaque phase qui sert d’entrée pour l’étape suivante. Ce processus se poursuit jusqu’à ce que le pipeline soit complètement exécuté. En outre, certaines étapes indépendantes peuvent également s’exécuter en parallèle dans certains cas.
La figure 3.3 suivante schématise les composants et le fonctionnement d’un pipeline de données.
[12_meilleures-pratiques-etl-pour-integration-des-donnees_21]
Figure 3.3 – Les composants d’une data pipeline
Comme il est observé dans la figure, le fonctionnement du pipeline de données se compose généralement de trois éléments principaux :
- Une source de données.
- Une ou plusieurs étapes de traitement.
- Une destination finale ou un puits.
L’avantage principal des pipelines est qu’ils permettent aux utilisateurs de transférer des données d’une source vers une destination et d’y apporter les modifications nécessaires pendant le processus de transfert. Ainsi, ils sont largement utilisés pour intégrer des données qui sont utilisées pour transformer efficacement des données brutes générées en continu et à grands volumes [43].
Différences entre Pipe line de données et pipe line ETL
Un pipeline ETL peut être vu comme une portion (un sous-ensemble) du pipeline de données qui permet d’extraire, transformer et charger des données. Cependant, la principale différence entre pipeline de données et pipeline ETL réside dans le fait que ce dernier n’utilise qu’un seul système, afin d’extraire, de transformer et charger les données. Le temps de chargement des données est plus long avec un ETL qu’un pipeline de données, car ce dernier peut être exécuté en temps réel alors que l’ETL, n’utilisant qu’un seul système, ne peut exécuter les commandes qu’en heures. C’est pour cela que les systèmes ETL fonctionnent souvent par lot au sein d’un pipeline de données, permettant ainsi de réduire le temps d’exécution des commandes.
De plus, un pipeline ETL ne peut charger les données que vers un entrepôt de données spécifique, alors qu’un pipeline de données, lui, peut charger les données vers des cibles sélectives et spécifiques, par exemple, un pipeline de données peut charger les données vers le compartiment S3 (Simple Storage Service) d’Amazon, ou connecter les données à un système informatique ne faisant pas partie d’Amazon, ce qui n’est pas le cas avec un pipeline ETL.
Après l’exposé des outils ETL avancés, nous explorons ci-après les travaux de recherche connexes qui ont traité l’intégration des données sur la base des outils ETL.
________________________
Questions Fréquemment Posées
Quelle est la différence entre ETL et ELT?
L’ETL transforme les données avant de les charger dans les systèmes cibles, tandis que l’ELT transforme les données directement dans ces systèmes après leur chargement.
Comment fonctionne le streaming ETL?
Le streaming ETL est le traitement et le déplacement en temps réel des données d’un emplacement physique à un autre de manière continue, utilisant une plateforme de traitement de flux.
Pourquoi les outils ELT sont-ils plus performants que les outils ETL pour les données à grande échelle?
Les outils ELT sont nettement plus performants car ils utilisent leurs propres serveurs et moteurs pour transformer les données, réduisant ainsi la pression sur la source de données initiale et éliminant les étapes intermédiaires de l’ETL.