Dans votre quête de la meilleure architecture de données pour les besoins actuels et futurs de votre organisation, vous avez de nombreuses options. Grâce à la flexibilité des logiciels, ces options sont presque infinies. Mais heureusement pour vous, certains schémas ont émergé pour vous aider sur votre chemin des données, notamment les data fabrics et les data meshes.
À première vue, les concepts de data fabric et de data mesh semblent assez similaires. Après tout, les meshes sont souvent faits d’un type de tissu, et ils sont tous deux des éléments malléables qui peuvent être posés sur les systèmes informatiques, soumis à une quantité toujours croissante de données.
Cependant, il existe des différences fondamentales entre ces deux approches, il est donc intéressant de prendre le temps de comprendre leurs différences.
Data Fabric
L’analyste de Forrester, Noel Yuhanna, a été l’un des premiers à définir le concept de data fabric au milieu des années 2000. Conceptuellement, un data fabric est essentiellement une manière basée sur les métadonnées de connecter une collection disparate d’outils de données qui répondent aux principaux problèmes des projets de big data de manière cohérente et en libre-service. Plus précisément, les solutions de data fabric offrent des fonctionnalités dans les domaines de l’accès aux données, de la découverte, de la transformation, de l’intégration, de la sécurité, de la gouvernance, de la linéarité et de l’orchestration. Le graph est souvent utilisé pour relier les actifs et les utilisateurs de données.
Le concept de data fabric gagne en popularité comme un moyen de simplifier l’accès et la gestion des données dans un environnement de plus en plus hétérogène, qui comprend des stores de données transactionnelles et opérationnelles, des data warehouses, des data lakes et des lake houses. Les organisations créent de plus en plus de silos de données, et avec la croissance de l’informatique en nuage, les problèmes liés à la diversification des données sont plus importants que jamais.
Avec un data fabric unique superposé virtuellement aux différentes sources de données, une organisation peut apporter une certaine forme de gestion unifiée aux sources de données disparates et aux consommateurs en aval, y compris les responsables des données, les ingénieurs des données, les analystes des données et les scientifiques des données. Il est important de noter que la gestion est unifiée, mais pas le stockage réel, qui reste distribué.
Certains fournisseurs d’outils, tels que Informatica et Talend, proposent un data fabric complet qui englobe bon nombre des fonctionnalités mentionnées ci-dessus, tandis que d’autres, comme Ataccama et Denodo, proposent des éléments spécifiques du data fabric. Google Cloud soutient également l’approche du data fabric avec son nouvel outil Dataplex. L’intégration entre les différents composants d’un data fabric est généralement gérée via des API et par le biais du format de données JSON commun.
Data Mesh
Alors qu’un data mesh vise à résoudre de nombreux problèmes similaires à ceux d’un data fabric, notamment la difficulté de gérer les données dans un environnement de données hétérogène, il aborde le problème de manière fondamentalement différente. En résumé, alors que le data fabric cherche à construire une couche de gestion unique et virtuelle au-dessus des données distribuées, le data mesh encourage des groupes d’équipes distribuées à gérer les données comme bon leur semble, tout en respectant certaines règles de gouvernance communes.
Le concept de data mesh a été formulé pour la première fois par Zhamak Dehghani, qui est maintenant directrice de l’incubation des nouvelles technologies chez Thoughtworks en Amérique du Nord. Dehghani a exposé de nombreux principes et concepts du data mesh dans son rapport de mai 2019 intitulé “Comment passer d’un data lake monolithique à un data mesh distribué”, suivi d’un rapport en décembre 2020 intitulé “Principes et architecture logique du data mesh”.
Le principe fondamental qui guide le data mesh consiste à rectifier l’incompatibilité entre le data lake et le data warehouse, comme nous l’avons écrit plus tôt cette année. Alors que le data warehouse de première génération est conçu pour stocker principalement des données structurées utilisées par les analystes de données pour des analyses SQL orientées vers le passé, le data lake de deuxième génération est principalement utilisé pour stocker des données largement non structurées utilisées par les scientifiques des données pour la construction de modèles d’apprentissage automatique prédictifs. Dehghani parle également d’un système de troisième génération (Kappa) caractérisé par des flux de données en temps réel et une utilisation des services cloud, mais cela ne résout pas le problème fondamental de l’interopérabilité entre les systèmes de première et de deuxième génération.
De nombreuses organisations construisent et maintiennent des pipelines de données ETL élaborés pour maintenir la synchronisation des données. Cela entraîne également la nécessité de “data engineers” hyper-spécialisés, chargés de maintenir le fonctionnement de ce système complexe.
L’apport clé de Dehghani pour résoudre ce problème est que la transformation des données ne peut pas être prédéfinie par des ingénieurs, mais doit être une sorte de filtre appliqué à un ensemble commun de données disponible pour tous les utilisateurs. Ainsi, au lieu de construire un ensemble complexe de pipelines ETL pour déplacer et transformer les données vers des référentiels spécialisés où les différentes communautés peuvent les analyser, les données sont conservées dans leur forme originale, et une série d’équipes spécialisées prennent possession de ces données pour les façonner en produits. Le data mesh distribué de Dehghani répond à cette préoccupation avec une nouvelle architecture caractérisée par quatre caractéristiques principales :
- Propriété et architecture des données décentralisées orientées par domaine ;
- Les données en tant que produit ;
- L’infrastructure de données en libre-service comme une plateforme ;
- Gouvernance computationnelle fédérée.
En effet, l’approche du data mesh reconnaît que ce sont les data lakes qui ont l’évolutivité nécessaire pour répondre aux besoins actuels d’analyse, mais que le modèle de gestion descendante que les organisations ont tenté d’imposer aux data lakes a été un échec. Le data mesh tente de réimaginer cette structure de propriété de manière ascendante, en donnant aux équipes individuelles le pouvoir de construire les systèmes qui répondent à leurs propres besoins, tout en respectant certaines règles de gouvernance inter-équipes.
Mesh Vs. Fabric
Comme nous pouvons le voir, il y a des similitudes entre l’approche du data mesh et celle du data fabric. Cependant, il y a aussi des différences à prendre en compte.
Selon Noel Yuhanna de Forrester, la principale différence entre le data mesh et l’approche du data fabric réside dans la façon dont les API sont accédées.
“Un data mesh est essentiellement basé sur des API pour les développeurs, contrairement au data fabric”, a déclaré Yuhanna. “Le data fabric est l’opposé du data mesh, où vous écrivez du code pour les API afin de les interfacer. En revanche, le data fabric utilise une approche low-code, no-code, ce qui signifie que l’intégration des API se fait à l’intérieur du fabric sans les utiliser directement, contrairement au data mesh.”
Pour James Serra, qui est responsable de l’architecture de plateforme de données chez EY (Earnst and Young) et qui a été précédemment architecte de solutions de big data et de data warehousing chez Microsoft, la différence entre les deux approches réside dans les utilisateurs qui y accèdent.
“Un data fabric et un data mesh permettent tous deux d’accéder à des données sur plusieurs technologies et plates-formes, mais un data fabric est centré sur la technologie, tandis qu’un data mesh se concentre sur le changement organisationnel”, écrit Serra dans un article de blog de juin. “Un data mesh est donc plus axé sur les personnes et les processus que sur l’architecture, tandis qu’un data fabric est une approche architecturale qui aborde la complexité des données et des métadonnées de manière intelligente et cohérente.”
Vous pouvez utiliser simultanément un data mesh et un data fabric, voire un data hub, selon David Wells, analyste chez Eckerson Group.
“Premièrement, ce sont des concepts, pas des choses”, écrit Wells dans un récent article de blog intitulé “Data Architecture: Complex vs Complicated”. “Le data hub en tant que concept architectural est différent du data hub en tant que base de données. Deuxièmement, ce sont des composants, pas des alternatives. Il est pratique d’inclure à la fois le data fabric et le data mesh dans une architecture. Ils ne sont pas mutuellement exclusifs. Enfin, ce sont des cadres architecturaux, pas des architectures. Vous n’avez pas d’architecture tant que les cadres sont adaptés et personnalisés selon vos besoins, vos données, vos processus et votre terminologie.”
Les data meshes et les data fabrics ont tous deux leur place dans le domaine du big data. Lors de la recherche de concepts et d’architectures pour soutenir vos projets de big data, tout dépend de ce qui fonctionne le mieux pour vos besoins spécifiques.