Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. La data
  3. L’intégration de données
Extrait - La data Guide de survie dans le monde de la donnée
Extraits du livre
La data Guide de survie dans le monde de la donnée
1 avis
Revenir à la page d'achat du livre

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. Mais cette dernière doit aussi répondre à des besoins particuliers qui dépassent souvent celui d’interconnexions. La phase de 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 connexion mais aussi de transformations qui seront nécessaires. En effet, selon les besoins en matière de consommation et de diffusion des données mais aussi en fonction des contraintes posées par les systèmes en amont et en aval, il faudra choisir le bon pattern d’intégration, voire en choisir plusieurs. Il faudra aussi en outre manipuler et transformer cette information afin de la faire changer de forme ou d’état. Ce choix de solution est bien sûr un élément fondamental dans tout projet de données, d’où l’objet de ce chapitre.

Caractéristiques

Dès lors que l’on aborde la notion d’intégration de données, on peut s’imaginer facilement des données empruntant un canal qui va des émetteurs vers les récepteurs. Ce canal est en quelque sorte le tuyau qui permet de faire transiter les données des sources vers leurs destinations. Et bien sûr, comme tout tuyau, il va avoir ses propres propriétés qui devront être choisies 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 :

  • Ses caractéristiques propres (débit, nombre d’émetteurs, récepteurs, etc.)

  • Une architecture/Structure

  • Son ou ses sens d’utilisation (liaison)

  • Le type de connexion nécessaire (Synchrone ou asynchrone)

  • Son mode d’utilisation (Lot ou flux)

images/CH03IMG01.png

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 - qu’il faut prendre en compte dès le début du projet d’intégration de données.

On pourrait encore y ajouter des notions de niveau de services comme le temps de réponse, le besoin en scalabilité, la tolérance de panne et la gestion de reprise, etc. Mais focalisons notre attention...

Principes de fonctionnement

Après avoir vu les différentes caractéristiques qu’il faut 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égrations 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, bien souvent la donnée peut être transformée, altérée et pourquoi pas enrichie. Lors de la récupération de données géographiques, par exemple, on pourra 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 y ajouter des informations démographiques si cela...

Les solutions d’intégration de données

Maintenant que nous avons 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 que l’on retrouve régulièrement dans l’industrie.

1. Les ETL

Les ETL sont des outils puissants qui permettent d’extraire de Transformer 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 aussi de véritables plateformes d’échanges de données permettant de gérer des accès temps réel ou flux. Leur palette de transformation s’est aussi considérablement étoffée. Maintenant, au-delà des transformations classiques (format, jointures, agrégats, etc.), ces solutions permettent d’effectuer des tâches propres à la qualité de données, gérer des formats complexes, etc.

L’acronyme ETL vient de l’anglais Extract, Transform and Load. Attention, l’ordre est important car il indique 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...

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 donc 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

Chaque message peut donc être envoyé dans un canal de son choix (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é à la sortie du bus. Le bus joue uniquement ici un rôle de file d’attente dans laquelle tous les messages postés seront tout d’abord stockés (mis dans une pile) pour être ensuite récupérés par le ou les récepteurs.

images/CH03IMG12.png

Principe des échanges...