Intégrer un ETL (Extract Transform Load, ou Extraction Transformation Chargement) à son entreprise est la première étape dans l’automatisation et la sécurisation de sa gestion de données. Nous vous expliquons dans cet article à quels enjeux métiers il répond, qui sont ses utilisateurs, comment cela fonctionne, sans oublier de vous expliquer comment le rendre le plus pertinent pour visualiser vos données.
Qu’est-ce qu’un ETL ?
Avant d’aller trop dans le détail, il nous semble important de vous expliquer ce qu’est un ETL de façon simple et précise.
Les ETL sont un type de logiciels utilisés dans le domaine décisionnel ayant pour caractéristique de générer du code afin que le développeur puisse se focaliser sur la transformation des données et les différentes étapes du processus ETL. La signification d’ETL est « Extract Transform Load » (Extraction Transformation Chargement), ces trois mots caractérisent les grandes étapes de la gouvernance de données que l’ETL peut/doit remplir.
Dans le détail, on distingue les trois étapes dans un processus d’intégration de données :
- L’extraction consiste à récupérer des données depuis une ou plusieurs sources, structurées ou non. En entrée du flux de traitement, les données peuvent être sous la forme d’un fichier plat (par exemple : csv, txt, …), d’un classeur (Excel, l’indétrônable), des fichiers hiérarchiques (JSON, XML, …), d’une page WEB (FileMQ, messagerie électronique, …), une base de données (Oracle, MySQL, PostgreSQL, Teradata, etc…), de services open data (web services) pour ne citer qu’eux…
- La transformation va permettre de mettre en forme les données selon des règles (pré)définies :
- Ce champ est-il numérique ? Cette règle de gestion métier est-elle respectée ? Mes données sont-elles complètes par rapport à mes besoins ? Les produits mentionnés sont-ils référencés dans mon catalogue ? Le lieu de livraison est-il dans mon périmètre ? Quel est mon chiffre d’affaires de ces trois dernières années ?
- Ce sont autant de questions qui trouvent leurs réponses dans cette partie de l’ETL. Non pas que l’outil est doué d’une conscience, mais plutôt que le développeur retranscrit et applique les questions posées plus haut sous la forme de contraintes, de règles de gestion et de contrôles en lignes de code et/ou fonctionnalités déjà présentes dans les outils ETL. Cette partie permet de normaliser les données et d’uniformiser les règles de gestion de la donnée.
- La dernière étape d’un ETL est le chargement des données dans la cible. Le plus souvent, il s’agit d’alimenter un data warehouse (ou entrepôt de donnée). Mais, on retrouve aussi l’exposition des données via la génération de fichiers plats ou l’alimentation de base de données, de fichiers d’envoi de mails pour avertir/informer un groupe d’utilisateurs par mail. Bref les possibilités sont multiples et surtout diverses.
Quelles entreprises utilisent un ETL ?
Multinationales ? Entreprises nationales ? PME ? Qu’importe la taille et la structure de l’entreprise, l’ETL fournit des solutions pour traiter des données en masse et permet l’industrialisation et l’automatisation des flux de données. Cela facilite les opérations de traitement de la donnée.
Voici un cas d’usage ETL très régulièrement rencontré chez nos clients.
L’automatisation d’un flux de récupération des résultats de l’entreprise en XLS. Un de nos clients récupère tous les mois les chiffres d’un applicatif métier pour construire son reporting sous Excel. Cette récupération est manuelle et nécessite des manipulations/transformations.
A l’aide d’un ETL, nous avons créé un flux de donnée permettant de :
- collecter les données tous les mois ;
- de les transformer ;
- et d’alimenter une source unique.
Cela a simplifié l’accès à la donnée, augmenté la qualité de la donnée (rejet) et sécurisé l’accès pour permettre aux métiers d’exploiter celle-ci au travers d’un outil de visualisation.
Qui sont les utilisateurs d’un ETL ?
Les utilisateurs sont plutôt des personnes ayant une forte appétence avec la donnée et plus particulièrement les transformations liées à la donnée. Chez A5sys, nos collaborateurs travaillant avec les ETL sont principalement des data engineer et des data analysts. Ils se chargent de concevoir, développer et recetter les flux d’alimentation de données dans nos différents projets. Nous accompagnons aussi nos clients dans l’autonomisation de leurs équipes pour définir et développer leurs propres flux d’alimentation.
A quels enjeux métier répondent les ETL ?
Les enjeux métiers d’un ETL sont nombreux et souvent peu visibles des utilisateurs métiers. C’est une partie (importante) cachée de l’iceberg qui permet l’affichage des indicateurs (partie visible). Ce qu’il faut retenir, c’est qu’à partir du moment où l’on souhaite industrialiser ou/et automatiser un pilotage d’activité, l’ETL intervient.
La mise en place de flux de traitements automatisés sur les données brutes permet :
- d’optimiser les temps de traitements ;
- d’améliorer la qualité de la donnée en mettant en place des contrôles et rejets automatiques sur les données intégrées ;
- et d’augmenter le niveau de maturité dans la gestion de son patrimoine.
L’utilisation de ce type de logiciel passe généralement par la mise en place d’un entrepôt de données et participe à la centralisation, l’harmonisation et l’uniformatisation des données au sein de l’entreprise.
Comment mettre en place un ETL ?
Les outils suivent l’évolution des technologies. On retrouve donc des solutions cloud ou on-premise. La mise en place, comme évoqué précédemment, s’inscrit dans la construction d’une plateforme de gestion de la donnée : c’est un composant du système d’information décisionnel ou datahub ou datalake.
Une fois l’outillage et l’architecture décisionnelle retenue, nous procédons à l’installation sur un serveur (ou la configuration sur une plateforme cloud). Nous définissons ensuite la connectivité aux données, la sécurisation d’accès à l’outil et les paramètres de déploiement (planification, ordonnancement). Ces étapes terminées, nous sommes prêts pour démarrer les projets d’intégration de données.
Chez A5sys, avant toute implémentation d’un flux d’intégration de données dans un ETL, nous définissons un contrat d’interface qui définit précisément :
- la cinématique d’alimentation ;
- la fréquence ;
- les règles fonctionnelles de transformation et de contrôle de la donnée ;
- les données attendues et le mapping lié à la source.
Et le coût d’un ETL ?
Comme pour tout outil informatique, il existe des solutions dites « open source » ou « entreprise ». Les solutions « entreprise » sont payantes et permettent l’accès à des fonctionnalités plus exigeantes (parallélisation des traitements), avancées (métadonnées dynamiques) ou facilitant le développement en équipe (versionning intégré, gestion de la concurrence pour le développement, monitoring centralisé). Toutefois, dans un très grand nombre de cas et de sociétés, la version open source répond aux besoins pour les cas d’usages d’intégration de données.