ETL, qui signifie « extract, transform, load » (extraction, transformation, chargement), sont les trois processus qui, en combinaison, déplacent les données d’une base de données, de plusieurs bases de données ou d’autres sources vers un référentiel unifié, généralement une base de données décisionnelle. Il permet l’analyse des données pour fournir des informations commerciales exploitables, en préparant efficacement les données pour les processus d’analyse et de veille stratégique.
Qu’est-ce qu’un ETL ?
L’ETL, qui signifie « extract, transform and load » (extraction, transformation et chargement), est un processus d’intégration des données qui combine des données provenant de plusieurs sources de données en un magasin de données unique et cohérent qui est chargé dans une base de données décisionnelle ou un autre système cible.
À mesure que les bases de données gagnaient en popularité dans les années 1970, l’ETL a été introduit comme processus d’intégration et de chargement des données pour le calcul et l’analyse, pour finalement devenir la principale méthode de traitement des données pour les projets d’entreposage de données.
L’ETL constitue la base de l’analyse des données et des flux d’apprentissage automatique. Grâce à une série de règles métier, l’ETL nettoie et organise les données de manière à répondre à des besoins spécifiques en matière de veille stratégique, comme les rapports mensuels, mais il peut également s’attaquer à des analyses plus avancées, qui peuvent améliorer les processus back-end ou les expériences des utilisateurs finaux.
L’ETL est souvent utilisé par une organisation pour :
- Extraire des données des systèmes existants ;
- Nettoyer les données afin d’améliorer leur qualité et d’en assurer la cohérence ;
- Charger les données dans une base de données cible.
ETL vs ELT
La différence la plus évidente entre ETL et ELT est la différence dans l’ordre des opérations. L’ELT copie ou exporte les données depuis les emplacements sources, mais au lieu de les charger dans une zone de transit pour les transformer, il charge les données brutes directement dans le magasin de données cible pour les transformer selon les besoins.
Bien que les deux processus exploitent une variété de référentiels de données, tels que les bases de données, les entrepôts de données (ou bases de données décisionnelle) et les lacs de données, chaque processus a ses avantages et ses inconvénients. Les PUNR sont particulièrement utiles pour les ensembles de données non structurés et volumineux, car le chargement peut se faire directement à partir de la source.
L’ELT peut être davantage convenir pour la gestion des big data car il ne nécessite pas beaucoup de planification en amont pour l’extraction et le stockage des données. Le processus ETL, en revanche, exige une plus grande définition au départ. Des points de données spécifiques doivent être identifiés pour l’extraction, ainsi que toutes les « clés » potentielles pour intégrer des systèmes sources disparates.
Même après que ce travail soit terminé, les règles commerciales pour les transformations de données doivent être construites. Ce travail peut généralement dépendre des exigences en matière de données pour un type donné d’analyse des données, ce qui déterminera le niveau de résumé que les données doivent avoir. Bien que les PUNR soient devenus de plus en plus populaires avec l’adoption des bases de données en nuage, ils ont leurs propres inconvénients du fait qu’il s’agit d’un processus plus récent, ce qui signifie que les meilleures pratiques sont encore en cours d’établissement.
Pourquoi les entreprises ont-elles besoin de l'ETL ? les finalités.
L’ETL permet aux entreprises de consolider les données provenant de plusieurs bases de données et d’autres sources dans un référentiel unique avec des données qui ont été correctement formatées et qualifiées en vue de leur analyse. Ce référentiel de données unifié permet un accès simplifié pour l’analyse et le traitement supplémentaire. Il fournit également une source unique de vérité, garantissant que toutes les données de l’entreprise sont cohérentes et à jour.
Ainsi, l’ETL offre divers avantages aux entreprises :
- Il aide à prendre des décisions en analysant les données ;
- Il peut traiter des problèmes complexes qui ne peuvent pas être traités par les bases de données traditionnelles ;
- Il fournit un référentiel de données commun ;
- Charge les données de différentes sources dans la base de données cible ;
- L’entrepôt de données se met automatiquement à jour en fonction des modifications apportées à la source de données ;
- Vérifie les règles de transformation, de calcul et d’agrégation des données ;
- Compare les données des systèmes source et cible ;
- Améliore la productivité.
C’est quoi un processus ETL en BI ?
La façon la plus simple de comprendre le fonctionnement de l’ETL est de comprendre ce qui se passe à chaque étape du processus.
Extraction
Pendant l’extraction des données, les données brutes sont copiées ou exportées des emplacements sources vers une zone de transit. Les équipes de gestion des données peuvent extraire des données d’une variété de sources de données, qui peuvent être structurées ou non structurées. Ces sources comprennent, sans s’y limiter, les éléments suivants :
- Les serveurs SQL ou NoSQL ;
- Systèmes CRM et ERP ;
- Les fichiers plats ;
- Courrier électronique ;
- Pages web.
Transformation
Dans la zone de transit, les données brutes subissent un traitement des données. Ici, les données sont transformées et consolidées pour le cas d’utilisation analytique prévu. Cette phase peut impliquer les tâches suivantes :
- Filtrage, nettoyage, déduplication, validation et authentification des données.
- Effectuer des calculs, des traductions ou des synthèses à partir des données brutes. Il peut s’agir de modifier les en-têtes de lignes et de colonnes à des fins de cohérence, de convertir des devises ou d’autres unités de mesure, de modifier des chaînes de texte, etc.
- Réaliser des audits pour garantir la qualité et la conformité des données.
- Suppression, cryptage ou protection des données régies par des organismes de réglementation sectoriels ou gouvernementaux.
- Formatage des données dans des tables ou des tables jointes pour qu’elles correspondent au schéma de la base de données décisionnelle cible.
Chargement
Au cours de cette dernière étape, les données transformées sont déplacées de la zone de transit vers la base de données décisionnelle cible. En général, cela implique un chargement initial de toutes les données, suivi d’un chargement périodique des modifications incrémentielles des données et, moins souvent, de rafraîchissements complets pour effacer et remplacer les données dans l’entrepôt. Pour la plupart des organisations qui utilisent l’ETL, le processus est automatisé, bien défini, continu et géré par lots. En général, l’ETL a lieu pendant les heures creuses, lorsque le trafic sur les systèmes sources et la base de données décisionnelle est au plus bas.
Quels sont les avantages de l'ETL ?
Aujourd’hui, nous recommandons généralement l’utilisation d’un outil ETL, mais une approche personnalisée peut encore avoir du sens, en particulier lorsqu’elle est pilotée par un modèle.
Voici les sept plus grands avantages des outils ETL et des conseils pour faire le bon choix en fonction de votre situation :
Flux visuel
Le plus grand avantage d’un outil ETL est qu’il fournit un flux visuel de la logique du système (si l’outil est basé sur le flux). Chaque outil ETL présente ces flux différemment, mais même le moins attrayant de ces outils ETL se compare favorablement aux systèmes personnalisés composés de SQL simple, de procédures stockées, de scripts système et peut-être d’une poignée d’autres technologies.
Conception de systèmes structurés
Les outils ETL sont conçus pour le problème spécifique de l’intégration des données : alimenter une base de données décisionnelle ou intégrer des données provenant de sources multiples, ou même simplement déplacer les données. Dans un souci de maintenabilité et d’extensibilité, ils fournissent, dans de nombreux cas, une structure basée sur des métadonnées aux développeurs. C’est un avantage particulièrement important pour les équipes qui construisent leur première base de données décisionnelle.
Résilience opérationnelle
Un grand nombre des entrepôts de données maison que nous avons évalués sont plutôt fragiles : ils présentent de nombreux problèmes opérationnels émergents. Les outils ETL fournissent des fonctionnalités et des normes pour exploiter et surveiller le système en production. Il est certainement possible de concevoir et de construire une application ETL bien instrumentée et codée à la main. Néanmoins, il est plus facile pour une équipe de data warehouse / business intelligence de s’appuyer sur les fonctionnalités d’un outil ETL pour construire un système ETL résilient.
Analyse du lignage des données et de l'impact
Nous aimerions pouvoir cliquer avec le bouton droit de la souris sur un chiffre dans un rapport et voir exactement comment il a été calculé, où les données ont été stockées dans la base de données décisionnelle, comment elles ont été transformées, quand les données ont été rafraîchies le plus récemment et de quel(s) système(s) source(s) les chiffres ont été extraits.
L’analyse d’impact est le revers de la médaille du lignage : nous aimerions regarder une table ou une colonne dans le système source et savoir quelles procédures ETL, tables, cubes et rapports utilisateurs pourraient être affectés si un changement structurel est nécessaire. En l’absence de normes ETL auxquelles les systèmes codés à la main pourraient se conformer, nous devons compter sur les fournisseurs ETL pour fournir cette fonctionnalité, mais, malheureusement, seule la moitié d’entre eux l’ont fait jusqu’à présent.
Profilage et nettoyage avancés des données
La plupart des entrepôts de données sont structurellement complexes, avec de nombreuses sources et cibles de données. En même temps, les exigences de transformation sont souvent assez simples, consistant principalement en des recherches et des substitutions.
Si vous avez une exigence de transformation complexe, par exemple si vous avez besoin de dé-dupliquer votre liste de clients, vous devriez acheter un module supplémentaire en plus de la solution ETL (profilage des données / nettoyage des données). Au minimum, les outils ETL fournissent un ensemble plus riche de fonctions de nettoyage que celles disponibles en SQL.
Performance
Vous pourriez être surpris que la performance soit listée comme l’un des derniers avantages des outils ETL. Il est possible de construire une base de données décisionnelle à haute performance, que vous utilisiez un outil ETL ou non. Il est également possible de construire une base de données décisionnelle que vous utilisiez un outil ETL ou non.
Par ailleurs, la structure imposée par une plateforme ETL permet à un développeur ETL (novice) de construire plus facilement un système de haute qualité. En outre, de nombreux outils ETL fournissent des technologies d’amélioration des performances, telles que le traitement massif parallèle, le multitraitement symétrique et la conscience des clusters.
Big Data
De nombreux outils ETL sont désormais capables de combiner des données structurées avec des données non structurées dans un seul mapping. En outre, ils peuvent traiter de très grandes quantités de données qui ne doivent pas nécessairement être stockées dans des entrepôts de données. Aujourd’hui, des connecteurs Hadoop, ou des interfaces similaires avec des sources de Big Data, sont fournis par près de 40 % des outils ETL. Et la prise en charge du Big Data ne cesse de croître.
Quels sont les défis de la mise en œuvre d'un flux de travail ETL ?
Les solutions ETL améliorent la qualité en effectuant un nettoyage des données avant de les charger dans un autre référentiel. Opération par lots chronophage, l’ETL est plus souvent recommandé pour créer des référentiels de données cibles plus petits qui nécessitent des mises à jour moins fréquentes, tandis que d’autres méthodes d’intégration des données – notamment l’ELT (extract, load, transform), la capture des données de changement (CDC) et la virtualisation des données – sont utilisées pour intégrer des volumes de données de plus en plus importants qui changent ou des flux de données en temps réel.
Dans le passé, les organisations écrivaient leur propre code ETL. Aujourd’hui, il existe de nombreux outils ETL commerciaux et open source et des services en nuage parmi lesquels choisir. Les capacités typiques de ces produits sont les suivantes :
- Automatisation complète et facilité d’utilisation : Les principaux outils ETL automatisent l’ensemble du flux de données, des sources de données à la base de données décisionnelle cible. De nombreux outils recommandent des règles pour extraire, transformer et charger les données.
- Une interface visuelle, de type glisser-déposer : Cette fonctionnalité peut être utilisée pour spécifier les règles et les flux de données.
- Une prise en charge de la gestion des données complexes : Cela inclut une assistance pour les calculs complexes, les intégrations de données et les manipulations de chaînes de caractères.
- Sécurité et conformité : Les meilleurs outils ETL chiffrent les données en mouvement et au repos et sont certifiés conformes aux réglementations sectorielles ou gouvernementales, comme HIPAA et GDPR.
- En outre, de nombreux outils ETL ont évolué pour inclure une capacité ELT et prendre en charge l’intégration de données en temps réel et en flux pour les applications d’intelligence artificielle (IA).
Les interfaces de programmation d’applications (API) utilisant l’intégration d’applications d’entreprise (EAI) peuvent être utilisées à la place de l’ETL pour une solution plus flexible et évolutive qui inclut l’intégration des flux de travail. Si l’ETL reste la principale ressource d’intégration des données, l’EAI est de plus en plus utilisée avec des API dans des contextes basés sur le web.