ETL
Définition
Les outils d’ETL, sigle signifiant Extract Transform Load en anglais (traduit par Extraction, transformation et chargement), est un procédé informatique permettant d’effectuer des synchronisations massives d’informations depuis des sources diverses (bases de données, fichiers) vers des cibles préalablement définies. Le processus est le suivant : on extrait des données des bases de données de production (l’extraction). Puis, on les transforme pour effectuer des calculs, pour les enrichir avec des données externes (la transformation). Enfin, on charge les données dans les différentes applications décisionnelles (le chargement). Les outils ETL sont utiles dans le système global décisionnel. Ils sont très importants et pertinents, permettant très souvent d’éviter les échecs, les dépassements de budget d’un projet par exemple.
Les ETL sont communément utilisés dans l’informatique décisionnelle afin de permettre l’alimentation des datawarehouses (entrepôts de données). De nombreux systèmes de gestion de bases de données sont supportés nativement en lecture/écriture (Oracle, MS Sql Server, DB2, Postgresql, MySql,…). Notons que la plupart des ETL disposent d’une interface graphique permettant l’élaboration des différents scénarios d’intégration. Aujourd’hui, les entreprises disposent de nombreuses sources de données. Les données qu’elles gèrent sont à la fois beaucoup plus nombreuses d’un point de vue volumétrique / quantitatif, et beaucoup plus diverses d’un point de vue qualitatif. Les entreprises ont potentiellement des dizaines de sources de données et bases de stockage différentes, elles récupèrent des données depuis leur site web, leur site e- commerce, leur ERP, leur système de caisse, leurs outils d’analytics, les réseaux sociaux, les outils de gestion des tickets clients type Zendesk, le CRM, le Marketing Automation, le logiciel d’emailing, les objets connectés, le mobile, etc. On pourrait poursuivre encore assez longtemps cette liste à la Prévert. Le développement des logiciels SaaS, si précieux qu’ils soient, à en partie contribué à multiplier les sources de données. L’augmentation du volume et de la diversité des données est à la fois une aubaine pour les entreprises et un défi. Les outils ETL ont pour vocation d’aider les entreprises à surmonter ce défi. Les données sont éparpillées dans un nombre important de silos. Les logiciels ETL sont des composantes d’une architecture IT visant à remédier au silotage des données.
Le travail premier d’un outil ETL est d’extraire toutes les données en provenance de la myriade d’outils et de bases utilisés par l’entreprise – via des connecteurs et des APIs. Pourquoi faire ? Pour les transformer ! (pourquoi faire ? on y vient rapidement…). Petite remarque : on pourrait dire « collecter » à la place d’ »extraire ». Malgré tout, « extraire » convient mieux, car les données que récupère l’outil ETL sont déjà dans l’entreprise, dans le SI de l’entreprise. Il ne s’agit pas de collecter des données nouvelles auprès des utilisateurs, des clients, mais d’extraire des données qui sont déjà dispersées dans le SI de l’entreprise et de les copier sur un serveur virtuel…pour en faire quelque chose : les transformer. Dernière remarque : il est possible de mettre en place des règles (sources à piper, vitesse de rafraîchissement, sources prioritaires…) pour définir les données à extraire. Un outil ETL n’extrait donc pas forcément TOUTES les données, même si il peut le faire.
La plupart des projets d’entreposage de données consistent à consolider les données provenant de systèmes sources hétérogènes, donc différents. Chaque système peut également utiliser une organisation différente des données, comme les règles de nommages, le format des données, etc. En général, l’objectif de la phase d’extraction consiste à convertir les données dans un format unique qui est approprié pour un traitement de transformation. Ce format de stockage est très similaire à la source, on parle de « 1 pour 1 », c’est à dire que l’on souhaite conserver une image des données sources telles qu’elles arrivent. On y applique souvent un système intelligent d’historisation et de journalisation pour savoir quelles données sont arrivées et quand, ce qui permet de reprendre des chargements et gérer les erreurs de transfert de données depuis les systèmes sources.
Transform
L’étape de transformation applique une série de règles appelées règles de gestion, toutes les données ne sont pas utilisables telles quelles. Elles méritent d’être vérifiées, reformatées, nettoyées afin d’éliminer les valeurs aberrantes, celles extérieures à la plage de vraisemblance et les doublons. Puis elles sont consolidées. Il s’agit aussi d’accorder un traitement particulier aux données manquantes. Comment consolider une information si quelques-unes des données la constituant ne sont pas collectées Les travaux de transformation tels que la standardisation des différents référentiels (unité, échelle) sont d’une ampleur nettement plus conséquente que ne pourrait le laisser supposer ce simple énoncé. Ensuite et seulement on peut procéder aux indispensables agrégations, c’est à dire la fusion de plusieurs données pour obtenir une seule information utilisable (moyenne, somme…).
Ainsi les entreprises ne parviennent plus à avoir une vision globale, unifiée, à 360° de leurs données clients. Trop de données, et surtout trop de sources de données, trop d’outils, trop de bases, trop de formats différents. L’objectif n’est pas de réduire le nombre d’outils qui compose la stack marketing. En tous cas ce n’est pas l’objectif des outils ETL. Les outils ETL, pour le dire très simplement, servent à mettre de l’ordre dans tout ce méli-mélo de données, à structurer les données non structurées, à restructurer des données déjà structurées mais pas comme il faut, à nettoyer les données, à les compiler, les agréger…bref, à transformer, sur un serveur intermédiaire, des données brutes en informations exploitables.