Guide de du processus ETL : Extraction-Transformation-Chargement
Les termes « Extract, Transform, Load (ETL) » désignent une séquence d'opérations portant sur les données : collecte à partir d'un nombre illimité de sources, structuration, centralisation dans un référentiel unique.
Dans la plupart des entreprises, les données potentiellement utiles sont inaccessibles ; une étude a même révélé que les deux tiers des entreprises retiraient « peu d'avantages concrets » de leurs données, parfois même « aucun avantage ». Les données ont tendance à être enfermées dans des silos cloisonnés, des systèmes legacy ou des applications rarement utilisées. ETL est le processus qui consiste à rendre ces données disponibles en les collectant auprès de sources multiples (cf. schéma ci-dessus) et en les soumettant à des opérations de nettoyage, de transformation et, au final, d'analytique métier.
Certaines personnes préparent leurs opérations ETL en les codant manuellement en SQL ou Java, mais il existe de nombreux outils pour simplifier ce processus. Cet article examine quelques cas d'usage d'ETL, décrit les avantages des outils ETL par rapport au codage manuel et énumère les qualités à rechercher dans les outils ETL.
Quels sont les principaux usages des outils ?
Dans la plupart des activités de l'entreprise, les données jouent un rôle essentiel : pour réaliser leur potentiel de valeur, elles doivent être déplacées et préparées pour exploitation, et ces opérations exigent les processus ETL. Exemples de cas d'usage pour les outils ETL :
- Migrer des données d'une application à une autre
- Répliquer des données pour la sauvegarde ou l'analyse des redondances
- Processus opérationnels tels que la migration des données d'un système CRM vers un gisement opérationnel ODS (Operational Data Store) afin d'améliorer ou d'enrichir les données, puis de les replacer dans le CRM.
- Stocker les données dans un data warehouse avant de les importer, les trier et les transformer dans un environnement de Business intelligence.
- Migrer des applications on-premises vers des infrastructures cloud, cloud hybride ou multi-cloud.
- Synchronisation des systèmes critiques
Fonctionnement des processus ETL et ELT
Comme le suggère leur sigle E-T-L, les opérations ETL suivent généralement une séquence en trois étapes : Extraction-Transformation-Chargement (L pour le terme anglais « Load »). Il est de plus en plus fréquent que les données soient extraites (E) de leurs emplacements sources, puis chargées (L) dans un data warehouse cible, ou que les données soient transformées (T) après le chargement (L). Dans ce cas, la séquence d'opérations est appelée (et épelée...) ELT au lieu de ETL. Plus de détails sur ETL vs ELT...
Les paragraphes qui suivent décrivent les trois étapes du processus ETL standard :
Étape 1 : Extraction
L'objectif d'ETL est de produire des données propres, faciles d'accès et qui peuvent être exploitées efficacement par l'analytique, la Business Intelligence ou/et les opérations commerciales. Les données brutes peuvent être extraites de différentes sources, en particulier :
- Bases de données existantes
- Logs d'activité (trafic réseau, rapports d'erreurs, etc.)
- Comportement, performances et anomalies des applications
- Événements de sécurité
- Autres opérations qui doivent être décrites aux fins de conformité
Les données extraites sont parfois stockées dans un emplacement tel qu'un data lake ou un data warehouse.
Étape 2 : Transformation
L'étape de transformation du processus ETL est celle des opérations les plus essentielles. L'opération la plus importante de l'étape de transformation consiste à appliquer aux données brutes les règles internes de l'entreprise de manière à répondre aux exigences en matière de reporting : les données brutes sont nettoyées et converties aux formats de rapport qui conviennent (si les données ne sont pas nettoyées, il devient plus difficile d'appliquer les règles internes de reporting).
La transformation applique les règles définies en interne. Les normes qui garantissent la qualité des données et leur accessibilité doivent tenir compte des pratiques suivantes :
- Standardisation – Définir les données à traiter, leur format et leur mode de stockage ainsi que d'autres considérations de base qui définiront les étapes qui suivent.
- Déduplication – Transmettre un rapport sur les doublons aux personnes en charge de la gouvernance des données ; exclure et/ou supprimer les données redondantes.
- Vérification – Effectuer des vérifications automatisées pour comparer des données similaires telles que durée de transaction ou suivi des accès. Les tâches de vérification permettent d'éliminer les données inutilisables et de signaler les anomalies des systèmes, des applications ou des données.
- Tri – Maximiser l'efficacité des data warehouses en regroupant et stockant les objets par catégorie (données brutes, données audio, mails, etc.). Vos règles de transformation ETL conditionnent la catégorisation de chaque objet et sa prochaine destination. Le processus ETL est parfois utilisé pour générer des tables d'agrégation qui sont ensuite proposées dans des rapports de base ; dans ce cas, vous devez trier puis agréger les données.
- Autres tâches – Tâches dont vous avez besoin et que vous définissez et paramétrez de telle sorte qu'elles s'exécutent en mode automatique.
Ces opérations transforment des volumes considérables de données inutilisables en données nettoyées que vous pouvez présenter à la dernière étape du processus ETL, la phase de chargement.
Étape 3 : Chargement
La dernière étape du processus ETL standard consiste à charger les données extraites et transformées dans leur nouvel emplacement. En général, les data warehouses supportent deux modes pour le chargement des données : chargement complet et chargement incrémentiel.
Le traitement ETL (cycle ponctuel ou programme de cycles) peut être lancé en ligne de commande ou via une interface graphique. Mais il y a certains points à surveiller. La gestion des exceptions, par exemple, peut être un processus très lourd. Dans bien des cas, la génération des extraits de données peut échouer si un ou plusieurs systèmes sont en panne. Si un système contient des données incorrectes, celles-ci peuvent avoir un impact sur les données extraites d'un autre système ; autrement dit, la supervision et le traitement des erreurs sont des activités essentielles.
Découvrez comment prendre en main les outils d'intégration de données de Talend.
Pratiques de données modernes : ETL vs. ELT
La séquence des opérations ELT forme un processus complet qui a fait ses preuves pour la gestion et le traitement du parcours des données entre une ou plusieurs sources et un état permettant de les injecter dans une solution de Business Intelligence. Mais avec les nouvelles technologies d'infrastructure en cloud, les systèmes peuvent désormais supporter d'importants volumes de données et une puissance de traitement évolutive à moindre coût. Autrement dit, il devient intéressant de conserver les données dans un pool de forte capacité et en expansion constante tout en déployant des ressources de traitement performantes et illimitées pour faciliter la mise à jour et l'enrichissement des données brutes résultant de l'extraction ETL.
Dans une certaine mesure, le processus ELT est une approche préférable pour la gestion des données, car il permet de conserver toutes les données brutes jusqu'à ce qu'elles soient prêtes à être exploitées. Il devient ainsi plus facile de se concentrer exclusivement sur l'extraction et le chargement des données. Cependant, il est important de ne pas négliger l'étape de transformation des données, qui peut également apporter de nombreux avantages à travers les opérations suivantes :
- Préparer les données pour le machine learning, ce qui permet d'améliorer considérablement la précision des algorithmes.
- Nettoyer les données pour améliorer leur qualité
- Dédupliquer et associer les données
- Standardiser les valeurs de données
Même dans un environnement avec data lake, les opérations de transformation sont essentielles pour extraire toute la valeur des données.
Outils ETL vs. processus de codage manuel ETL
De nombreux professionnels de l'IT se demandent si le codage manuel n'est pas une meilleure solution que d'investir dans de nouveaux outils. La plupart des fonctions ETL peuvent effectivement être définies par codage manuel, mais les outils du processus ETL sont généralement plus évolutifs (et moins coûteux sur la durée).
En effet, le codage manuel présente de nombreux défis. L'administration, le support technique et la réutilisation du codage manuel sont des opérations complexes. Il peut être très difficile pour un développeur donné d'apprendre le code d'un autre développeur, et encore plus difficile de le réutiliser. Les outils ETL ont l'avantage de générer une représentation visuelle des flux de données qui est beaucoup plus facile à comprendre. Avec le codage manuel, nous voyons souvent des développeurs réécrire sans hésiter le code d'autres développeurs, car il est plus facile de réécrire le code que d'essayer de déterminer les intentions et les processus intellectuels d'un confrère – ce qui explique pourquoi les coûts de maintenance du code sont souvent deux fois plus élevés lorsque du codage manuel est impliqué. Cette situation justifie également le fait qu'un développeur soit réticent à l'idée de réutilise le code d'un confrère.
En outre, les outils d'intégration de données proposent systématiquement des fonctionnalités avancées et intégrées telles que parallélisation, supervision et basculement/failover. Pour disposer de ces fonctionnalités dans un contexte de codage manuel, vous auriez à faire appel à des codeurs très compétents et qui maîtrisent les techniques correspondantes. Enfin, une approche en codage manuel de l'intégration des données empêchera l'évolution et l'innovation car les développeurs capables de travailler avec vos intégrations personnalisées seront difficiles à dénicher. Les économies initiales que vous pourriez réaliser en renonçant aux outils ETL seront vite oblitérées par l'augmentation considérable des coûts de maintenance.
ETL et migration cloud
La compatibilité du cloud est une qualité essentielle pour de nombreuses entreprises. Lorsque les entreprises migrent vers le cloud, elles doivent souvent réévaluer leurs outils d'intégration de données et ETL existants, car de nombreux outils traditionnels ne fonctionnent pas efficacement dans le cloud. De plus, la plupart des entreprises administrent plusieurs clouds ou prévoient de migrer d'un prestataire de cloud à un autre (AWS, Azure, Google Cloud Platform, etc.).
Les outils ETL de qualité sont supportés par les principaux prestataires de solutions cloud, et ils peuvent être conservés sans difficulté en cas de changement de prestataire. Vous ne pouvez pas envisager sereinement de réécrire vos pipelines de données chaque fois que vous changez de plate-forme cloud : vos données doivent être portables pour vous permettre de connecter et déconnecter différentes solutions (cloud, technologies de stockage et de traitement des données, bases de données en cloud, etc.).
Caractéristiques à rechercher dans un outil ETL
Les outils ETL peuvent simplifier considérablement le processus de gestion des données. Les caractéristiques à rechercher dans les outils ETL sont les suivantes :
- Nombre élevé de connecteurs – La diversité des systèmes et applications étant considérable, plus votre outil d'intégration des données disposera de connecteurs standard, plus vos équipes gagneront du temps.
- Open source – En général, les architectures open source offrent une plus grande souplesse et permettent d'éviter le provisionnement captif.
- Portabilité – Avec la tendance marquée vers des modèles en cloud hybride, deux points sont importants : réaliser vos intégrations de données une seule fois et pouvoir les exécuter n'importe où.
- Simplicité d'utilisation – Les outils ETL doivent être faciles à découvrir et utiliser et proposer une interface graphique pour faciliter la visualisation de vos pipelines de données.
- Modèle de tarification transparent – Un fournisseur d'outils ETL de confiance ne doit pas se permettre d'augmenter votre facturation chaque fois que vous ajoutez des connecteurs ou que vous augmentez les volumes de données.
- Compatibilité avec le cloud – Vos outils ETL doivent être capables de fonctionner en mode natif dans un environnement mono-cloud, multi-cloud ou hybride.
L'ETL avec Talend : Talend Data Integration vs Talend Open Source Data Integration
Talend propose des outils d'intégration de données performants pour le processus ETL. En utilisant les outils Talend pour l'intégration de leurs données, nos clients font état de tâches d'intégration exécutées 10 fois plus rapidement qu'en codage manuel, et pour un cinquième du coût de nos concurrents.
Il existe deux versions du logiciel d'intégration de données Talend : Talend Open Source Data Integration et Talend Data Fabric. Examinez la comparaison côte à côte de ces deux solutions. Le produit Talend Open Source Data Integration est puissant et applicable à de nombreux cas d'usage : c'est un excellent outil pour un développeur individuel qui doit définir et exécuter des pipelines de données.
Toutefois, pour les entreprises qui structurent de grandes équipes, souhaitent améliorer leur productivité et capacité de collaboration et exigent un support technique performant, Talend Data Fabric s'impose sans conteste. La plate-forme Talend Data Fabric propose des fonctionnalités complémentaires : capacités d'administration et de supervision, qualité des données intégrée directement dans la plate-forme et support technique complet (Web, mail et téléphone). Les deux versions proposent des fonctionnalités multi-cloud natives, une évolutivité incomparable pour tous les types de projet et plus de 900 connecteurs intégrés.
ETL est un processus critique pour l'exploitation des données dans l'entreprise. Les outils proposés par Talend facilitent le déploiement du processus ETL. Essayez Talend Open Source Data Integration et découvrez comment mettre vos données au service de vos activités sans sacrifier les performances ou la productivité.