AccueilđŸ‡«đŸ‡·Chercher

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

  1. « ETL (Extract, Transform, Load) – PrĂ©sentation gĂ©nĂ©rale », sur Talend Real-Time Open Source Data Integration Software (consultĂ© le )
  2. https://cours.etsmtl.ca/mti820/public_docs/acetates/MTI820-Acetates-ETL_1pp.pdf
  3. « Documentation scientifique et technique, conseil et formation | Techniques de l’IngĂ©nieur », sur www.techniques-ingenieur.fr (consultĂ© le )
  4. « 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 )
  5. « 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
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.