L’intégration de données
Introduction
Transporter ou échanger des données nécessite de mettre en place des services ainsi que, bien souvent, une infrastructure spécifique. Cette dernière doit répondre à des besoins particuliers qui dépassent souvent celui de simples interconnexions. Le démarrage d’un projet d’intégration de données doit donc au préalable faire l’objet d’une étude approfondie afin de bien comprendre toutes les modalités de connectivité mais aussi de transformations qui seront nécessaires. En effet, selon les besoins en matière de consommation (ou de diffusion) des données et des contraintes posées par les systèmes en amont et en aval, il faudra choisir le bon pattern d’intégration, voire en combiner plusieurs. Souvent, il sera aussi nécessaire de manipuler et transformer les données source afin de les adapter à la source données ciblée. Le choix de la solution est bien sûr un point fondamental, voire la clé de voûte de tout projet d’intégration de données.
Propriétés d’une solution d’intégration de données
Dès lors que l’on aborde la notion d’intégration de données, on peut imaginer facilement des données empruntant un canal allant d’émetteurs vers des récepteurs. Ce canal de transmission permet en quelque sorte de faire transiter les données des sources (émetteurs) vers leurs destinations (récepteurs).
Comme tout composant, ce canal a ses propres propriétés qui devront être ajustées en fonction du besoin à adresser. Il est en effet évident qu’un besoin d’acquisition de données en mode temps réel n’aura pas les mêmes propriétés qu’un batch d’alimentation de « Data Warehouse ».
Voici donc les grandes propriétés à prendre en considération :
-
les caractéristiques propres du canal de transmission des données (débit, nombre d’émetteurs, nombre de récepteurs, etc.) ;
-
son architecture/sa structure ;
-
son ou ses sens d’utilisation (liaison) ;
-
le type de connexion nécessaire (synchrone ou asynchrone) ;
-
son mode d’utilisation (lot ou flux).
Caractéristiques du canal de transmission
À noter qu’il faut aussi prendre en compte les contraintes propres à l’environnement. Les émetteurs et récepteurs de données ayant aussi leurs propres caractéristiques - et donc leurs propres contraintes - à prendre en compte dès le début du projet d’intégration de données.
On pourrait encore ajouter des notions de niveau de services comme le temps de réponse, le besoin en scalabilité, la tolérance de panne ou la gestion de reprise, mais focalisons notre attention sur les grandes caractéristiques fondamentales dans le choix de la solution à mettre en œuvre.
Aujourd’hui, on entend souvent parler de pipeline de données (ou Data Pipeline que nous aborderons plus loin dans l’ouvrage). L’image du pipeline est plutôt bien trouvée et s’apparente à première vue à la notion de canal. Néanmoins, si la notion de Data Pipeline englobe bel et bien la notion de canal de transmission des données...
Principes de fonctionnement
Après avoir vu les différentes caractéristiques à prendre en compte pour choisir et mettre en place une solution d’intégration, voyons plus en détail comment les solutions d’échanges et/ou de transport de données fonctionnent. En effet, avant d’aborder les grandes familles de solutions proposées, il est intéressant de voir que ces dernières respectent à peu près toutes les mêmes grands principes.
1. Les étapes d’une bonne intégration de données
Les solutions d’intégration de données fonctionnent toujours en plusieurs phases bien distinctes :
1. Connexion aux systèmes sources via des interfaces que l’on nomme aussi des connecteurs. Ces connecteurs sont propres aux sources de données et permettent au système de convertir les données dans un format unique à la solution. On peut comparer cela à un traducteur multilingue, chaque langue étant un connecteur.
2. Agrégation des données provenant de ces sources disparates.
3. Analyse et corrélation des données (fusion éventuelle de flux, ou l’inverse, séparation de flux). Lors de cette phase, la donnée peut être transformée, altérée, voire enrichie. Lors de la récupération de données géographiques par exemple, on peut fusionner les pays qui ont des codes ou noms semblables (n’oublions pas que les données peuvent provenir de sources différentes), et pourquoi pas ajouter des informations démographiques si cela est pertinent pour l’utilisation ultérieure.
-
On peut ajouter la date de traitement, sa source réelle, voire d’autres informations contextuelles ou métier ;
-
On peut aussi trier et rejeter des informations selon les besoins mais aussi pour réduire la taille du flux.
Cette phase est optionnelle et peut ne pas être proposée par certaines solutions.
4. Routage des données vers les récepteurs de données.
2. La montée en charge et la tolérance de panne
Assurer la continuité et la performance des flux de données critiques est crucial pour les entreprises. Il faut en effet s’assurer que les solutions d’intégration...
Les solutions d’intégration de données
Maintenant que l’on a présenté les caractéristiques et les modalités de fonctionnement des outils d’intégration de données, on peut aborder les grandes solutions régulièrement utilisées dans l’industrie.
1. Les ETL
Les ETL sont des outils puissants qui permettent d’extraire (Extract), de transformer (Transform) et de charger (Load) des données d’un ou plusieurs systèmes sources vers un ou plusieurs systèmes cibles. À l’origine, ces solutions étaient surtout utilisées dans le cadre de gros chargements (batch) et dans le cadre d’entrepôts de données (comme les Data Warehouses). Mais avec le temps, ces solutions sont devenues de véritables plateformes d’échanges de données permettant de gérer des accès temps réel ou flux. L’étendue de transformation s’est aussi considérablement agrandie. Désormais, au-delà des transformations classiques (format, jointures, agrégats, etc.), ces solutions permettent d’effectuer des tâches propres à la qualité de données, de gérer des formats complexes, etc.
On l’aura noté, l’acronyme ETL vient de l’anglais Extract, Transform and Load. L’ordre des lettres est important car il indique aussi l’ordre de traitement des données :
1. Extraction de toutes les données
2. Transformation centralisée des données collectées
3. Chargement (Load) des données vers les systèmes cibles
Les étapes E et L sont gérées au travers des connecteurs que nous allons étudier, mais toute la puissance de ces solutions réside dans l’étape T dans laquelle toute la logique de traitement centralisé de la donnée va être opérée. Ce T est le cœur du moteur ETL :
Principe de fonctionnement d’un ETL
L’élément central (qui effectue les transformations) est aussi appelé moteur de transformation car c’est par lui que vont transiter toutes les données afin d’être transformées. Ce choix d’architecture est loin d’être anodin car cela implique que le serveur...
Le pipeline de données
1. Qu’est-ce qu’un pipeline de données ?
La notion de pipeline de données est un concept, ou plutôt une terminologie, que l’on trouve de plus en plus souvent dès lors qu’on évoque l’intégration de données. On peut définir un pipeline de données comme un ensemble de processus et de flux automatisés permettant de collecter, traiter, transférer et stocker des données de manière organisée et efficace. Ces pipelines sont essentiels dans le domaine de la gestion des données et de l’analytique, car ils permettent de déplacer les données de différentes sources vers leurs destinations finales tout en les transformant selon les besoins spécifiques du système.
On peut aussi lister ses différents composants comme suit :
1. Collecte : cette étape implique la collecte de données à partir de différentes sources, telles que des bases de données, des fichiers, des API, des capteurs, etc.
2. Nettoyage : les données collectées peuvent contenir des erreurs, des valeurs manquantes ou des incohérences. Le nettoyage des données consiste à préparer les données pour qu’elles soient utilisables, en éliminant les erreurs et en standardisant le format.
3. Transformation : cette étape comprend la modification ou la transformation des données pour les rendre compatibles avec le format requis ou pour les préparer à l’analyse. Cela peut inclure l’agrégation, la normalisation, la déduplication, etc.
4. Persistance : les données traitées sont stockées dans une base de données ou un entrepôt de données pour...
Les solutions orientées bus
La plupart des solutions ou plateformes d’échanges de données à vocation opérationnelle (et non décisionnelle) fonctionnent sur deux grands principes :
-
le premier est un principe de bus de message ou données (Message Broker) ;
-
le second permet de gérer la distribution et la persistance des messages via (au choix) :
-
une queue de message ;
-
un mécanisme de Publication-Souscription (Publish - Subscribe).
-
La plupart des solutions (comme ActiveMQ, RabbitMQ, Kafka, etc.) combinent ces deux concepts mais il est possible de les dissocier.
1. Le bus de message
Le bus de message met à disposition un ou plusieurs canaux pour pouvoir diffuser des messages.
Un message est une donnée qui peut être échangée sous différents formats. Il peut s’agir d’une simple donnée textuelle, d’une donnée semi-structurée (XML, JSON, etc.) ou même d’une donnée non structurée (image, son, etc.).
2. Le mode point à point
L’émetteur choisit ici d’envoyer sur un canal de son choix son ou ses messages (on parle alors de queue). On a ici une communication de type point à point car il n’y a qu’un émetteur et qu’un récepteur, et que chaque message envoyé (entrée du bus) peut être récupéré...
L’orchestration des flux de données
1. Une activité annexe mais clé
L’orchestration joue un rôle central et indispensable dans le cycle de vie des données en raison de la complexité croissante des workflows de données et des défis opérationnels associés (« DataOps »). Dans le domaine de l’analyse de données, les workflows peuvent impliquer une série de tâches, telles que l’extraction de données à partir de différentes sources, leur transformation selon des règles spécifiques et, enfin, leur chargement dans un entrepôt de données ou un système de stockage. L’automatisation de ces processus est donc cruciale pour assurer une exécution efficace et cohérente, en minimisant les erreurs humaines et en accélérant la vitesse d’exécution.
Imaginons une entreprise qui collecte des données provenant de sources variées telles que des applications web, des bases de données internes et des services cloud. Ces données doivent être agrégées, nettoyées et transformées avant d’être utilisées pour des analyses. L’orchestration permet de définir un workflow qui planifie l’extraction des données à intervalles réguliers, assure la transformation conforme aux règles métier établies et charge finalement les données transformées dans un entrepôt de données. On peut aussi imaginer...
Bilan
À retenir |
|
Aller plus loin |
Marché et éditeurs |
|