Data mesh


De la même manière que les équipes d’ingénierie logicielle sont passées des applications monolithiques aux architectures de microservices, le data mesh est, à bien des égards, la version des microservices pour les plateformes de données.

Définition de ce paradigme en pleine évolution

Un data mesh est un type d’architecture de plate-forme de données. Il tient compte de l’omniprésence des données dans l’entreprise en s’appuyant sur une conception orientée domaine et libre-service. S’inspirant de la théorie d’Eric Evans sur le domain-driven design, un paradigme qui fait correspondre la structure et le langage de votre code avec le domaine d’activité correspondant, le data mesh est largement considéré comme le prochain grand changement architectural en matière de données.

Contrairement aux infrastructures de données monolithiques traditionnelles qui gèrent leur consommation, leur stockage, leur transformation et leur sortie dans un data lake central, un data mesh prend en charge des consommateurs de données distribués et spécifiques à un domaine. De même, il considère les données comme des produits. Ainsi, chaque domaine gère ses propres pipelines de données. Le tissu qui relie ces domaines et leurs ressources de données associées est une couche d’interopérabilité universelle. Cette dernière applique la même syntaxe et les mêmes normes de données.

Comment fonctionne cette architecture ?

Les data mesh fédèrent la propriété des données entre les propriétaires de données des domaines. Ils sont tenus de les fournir en tant que produits, tout en facilitant la communication entre les données distribuées à différents endroits.
Alors que l’infrastructure est chargée de procurer à chaque domaine les solutions permettant de traiter les données, les domaines gèrent l’ingestion, le nettoyage et l’agrégation des données. L’objectif étant de générer des actifs pouvant être utilisés par les applications de veille stratégique.
Chaque domaine est responsable de la propriété de ses pipelines ETL. Mais un ensemble de capacités, que l’on applique à tous les domaines, stocke, catalogue et maintient des contrôles d’accès pour les données brutes. Une fois que les données ont été servies et transformées par un domaine donné, les propriétaires du domaine peuvent alors les exploiter pour leurs besoins analytiques ou opérationnels.

Une organisation procurant une meilleure gestion des données

L’une des principales préoccupations de la conception orientée domaine est la duplication des efforts et des compétences nécessaires pour maintenir les pipelines de données et l’infrastructure dans chaque domaine. Pour remédier à ce problème, le data mesh rassemble et extrait les capacités de l’infrastructure de données indépendante du domaine dans une plate-forme centrale qui gère les moteurs de pipeline de données, le stockage et l’infrastructure de streaming. Dans le même temps, chaque domaine est responsable de l’exploitation de ces composants pour exécuter des pipelines ETL personnalisés. Cela leur donne le soutien nécessaire pour servir facilement leurs données, ainsi que l’autonomie requise pour s’approprier véritablement le processus.

Chaque domaine est sous-tendu par un ensemble universel de normes de données facilitant la collaboration entre les domaines lorsque cela est nécessaire (d’ailleurs, c’est souvent le cas). Il est inévitable que certaines données – tant des sources brutes que des ensembles de données nettoyées, transformées et servies – aient de la valeur pour plus d’un domaine.
Pour permettre une collaboration inter-domaines, le data mesh doit normaliser le formatage, la gouvernance et les champs de métadonnées, entre autres caractéristiques des données.
En outre, à l’instar d’un microservice individuel, chaque domaine doit définir et convenir des accords de niveau de service et des mesures de qualité qu’il « garantira » à ses consommateurs.

Aller en haut