Extract-transform-load
Extract-transform-load est une technologie informatique intergicielle permettant d'effectuer des synchronisations massives d'information d'une source de données (le plus souvent une base de données) vers une autre. Cette technologie est connue sous le sigle ETL, ou extracto-chargeur. Selon le contexte, il s'agit d'exploiter différentes fonctions, souvent combinées entre elles : « extraction », « transformation », « constitution » ou « conversion », « alimentation » ou « chargement ».
Organisation et Historique
Cette technologie repose sur :
- des connecteurs servant Ă exporter ou importer les donnĂ©es dans les applications (ex. : connecteur Oracle ou SAPâŠ) ;
- des transformateurs qui manipulent les donnĂ©es (agrĂ©gations, filtres, conversionsâŠ) ;
- et des mises en correspondance (mappages). L'objectif est l'intégration ou la réexploitation de données d'un réservoir source dans un réservoir cible.
à l'origine, les solutions d'ETL sont apparues pour le chargement régulier de données agrégées dans les entrepÎts de données, avant de se diversifier vers les autres domaines logiciels. Ces solutions sont largement utilisées dans le monde bancaire et financier, ainsi que dans l'industrie, au vu de la multiplication des nombreuses interfaces.
Des technologies complémentaires sont apparues par la suite : l'intégration d'applications d'entreprise, puis l'ESB (enterprise service bus).
Il existe également des solutions d'ETL de contenu permettant de manipuler des données non structurées ou faiblement structurées, tels que les dossiers ou les documents. Ces solutions sont utilisées pour des projets de migration de documents. Par exemple, lors de migration de documents d'une application GED vers une autre. Leur champ d'application peut également s'étendre à des projets d'archivage électronique.
Ces outils d'ETL sont également exploitables pour la manipulation de données non ou faiblement structurées dans le cadre de la fouille de textes.
Enfin, un extract load transform (ELT) est un ETL particulier qui n'utilise pas de moteur pour effectuer la transformation des données, mais d'autres systÚmes capables de faire de la transformation (e.g. bases de données sources ou cibles).
Fonctionnement du processus ETL[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, l'informatique dĂ©cisionnelle et/ou 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.
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 chargées 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 Warehouse 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
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 entrepÎts de données supportent deux modes pour le chargement des données : chargement complet (on recharge l'integralité des données) et chargement incrémental (seules les derniÚres données sont chargées).
Pilotage
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.
Les principaux usages de l'ETL[1]
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 d'informatique décisionnelle.
- Migrer des applications on-premises vers des infrastructures cloud, cloud hybride ou multi-cloud.
- Synchronisation des systĂšmes critiques.
Performances et limites[2]
Avantages
- OptimisĂ© pour la structure de lâentrepĂŽt de donnĂ©es
- Peut traiter de grandes quantitĂ©s de donnĂ©es dans une mĂȘme exĂ©cution (traitement en lot)
- Permet des transformations complexes et agrégations sur les données
- La cĂ©dule dâexĂ©cution peut ĂȘtre contrĂŽlĂ©e par lâadministrateur
- La disponibilitĂ© dâoutils GUI sur le marchĂ© permet dâamĂ©liorer la productivitĂ©
- Permet la réutilisation des processus et transformations (ex : packages dans SSIS)
Inconvénients
- Processus de développement long et coûteux
- Gestion des changements nécessaire
- Exige de lâespace disque pour effectuer les transformations (staging area)
- Exécuté indépendamment du besoin réel
- Latence des donnĂ©es entre la source et lâentrepĂŽt
- Unidirectionnel (des sources vers lâentrepĂŽt de donnĂ©es)
La diffĂ©rence entre lâETL et EAI[3]
DĂ©finition EAI
LâEAI, ou Enterprise Application Integration (en français, lâintĂ©gration des applications dâentreprise), dĂ©signe un processus en cours depuis de nombreuses annĂ©es, lâintĂ©gration dâapplications variĂ©es aïŹn quâelles puissent partager librement lâinformation et les traitements. LâEAI est sous le feu des projecteurs des fournisseurs de logiciels et des analystes et permet enïŹn de rĂ©gler un problĂšme qui coĂ»te aux trĂšs grandes entreprises 100 milliards de dollars par an.
Enterprise Application Integration (EAI) pour le terme consacré en anglais, est aussi appelé Echanges Inter-applicatifs de Données en français. Ce terme désigne une architecture SI qui permet à plusieurs logiciels de communiquer entre eux et de gérer les différents échanges. On parle aussi de gestion des flux inter-applicatifs. Par raccourci, les outils logiciels utilisés pour réaliser ces architectures EAI sont eux aussi appelés « logiciels EAI ».
Un logiciel EAI permet de se connecter Ă tout type de sources de donnĂ©es, dâen extraire des donnĂ©es, de manipuler ces donnĂ©es, de structurer ces donnĂ©es puis de les dĂ©poser dans toutes autres structures de donnĂ©es. LâexĂ©cution de ces manipulations et la synchronisation de donnĂ©es est programmable et dĂ©clenchĂ©e par tout type dâĂ©vĂšnements[4].
Comparaison ETL / EAI
LâETL est une technique dâintĂ©gration de donnĂ©es comme lâEAI. Les produits dâEAI sont orientĂ©s Ă©vĂ©nements et supportent des traitements de type transactionnel, que lâETL ne supporte pas. En revanche, lâETL permet des transformations beaucoup plus complexes. Certains Ă©diteurs de produits dâEAI et dâETL deviennent partenaires, et on se dirige vers des solutions oĂč lâEAI capture les donnĂ©es et les Ă©vĂ©nements des applications en temps rĂ©el et les passe Ă lâoutil ETL qui transforme les donnĂ©es et les charge dans lâenvironnement d'informatique dĂ©cisionnelle.
Comparaison générale ETL/EAI[5] | ETL | EAI |
---|---|---|
Mode principal | Lot | Flux (pseudo temps-réel) |
Orientation | Données | Métier |
Volumétrie | potentiellement forte (ex 15 000 000 de lignes) | relativement faible (ex. 100 000 lignes) |
Sources / Cibles | âSGBD, âODS, âentrepĂŽts de donnĂ©es, âdatamart, âprogiciel de gestion intĂ©grĂ©, âgestion de la relation client | âinter-application au sens large |
ETL virtuel
En 2010, la virtualisation de donnĂ©es a commencĂ© Ă avancer le traitement ETL. L'application de la virtualisation de donnĂ©es ETL a permis de rĂ©soudre les tĂąches les plus courantes ETL de migration des donnĂ©es et lâintĂ©gration des applications pour de multiples sources de donnĂ©es dispersĂ©es. Virtual ETL fonctionne avec la reprĂ©sentation abstraite des objets ou des entitĂ©s recueillies Ă partir de la variĂ©tĂ© des relationnelles, semi-structurĂ©s et des sources de donnĂ©es non structurĂ©es. Outils ETL peuvent tirer parti de la modĂ©lisation orientĂ©e objet et travailler avec les reprĂ©sentations des entitĂ©s constamment stockĂ©es dans un emplacement central hub-and-spoke architecture. Une telle collection qui contient des reprĂ©sentations des entitĂ©s ou des objets recueillis Ă partir des sources de donnĂ©es pour le traitement ETL est appelĂ© un rĂ©fĂ©rentiel de mĂ©tadonnĂ©es et il peut rĂ©sider dans la mĂ©moire ou ĂȘtre fait persistante. En utilisant un rĂ©fĂ©rentiel de mĂ©tadonnĂ©es persistantes, les outils ETL peuvent passer des projets ponctuels Ă middleware persistant, dâeffectuer lâharmonisation et des donnĂ©es de profilage des donnĂ©es de maniĂšre cohĂ©rente et en temps quasi-rĂ©el.
Voir aussi
Notes et références
- « ETL (Extract, Transform, Load) â PrĂ©sentation gĂ©nĂ©rale », sur Talend Real-Time Open Source Data Integration Software (consultĂ© le )
- https://cours.etsmtl.ca/mti820/public_docs/acetates/MTI820-Acetates-ETL_1pp.pdf
- « Documentation scientifique et technique, conseil et formation | Techniques de lâIngĂ©nieur », sur www.techniques-ingenieur.fr (consultĂ© le )
- « Qu'est-ce qu'un EAI - Enterprise Application Integration | Tenor EDI », sur Tenor EDI Services, votre prestataire de solutions EDI, EAI et Dématérialisation, (consulté le )
- « Les Ă©tapes de rĂ©alisation dâun projet », dans L'apprentissage par projet, Presses de l'UniversitĂ© du QuĂ©bec (ISBN 978-2-7605-1795-0, lire en ligne), p. 91â150