Le Data Mesh est une approche d’architecture décentralisée qui organise les données par domaines d’activités spécifiques.
Cette architecture repose sur quatre principes fondamentaux :
Dans une architecture en Data Mesh, les données sont réparties dans différents domaines correspondant à des activités spécifiques. Au lieu de centraliser la gestion des données au sein d'une équipe IT ou d'un département centralisé, le Data Mesh confie la responsabilité des données aux équipes qui ont une connaissance approfondie du métier auquel appartiennent les données.
Chaque domaine dispose de son propre schéma et est géré par des équipes interfonctionnelles autonomes. Ces équipes sont responsables de leurs données, les gèrent, les transforment et les partagent avec d'autres domaines pour générer des éléments exploitables à des fins d’analyse.
Les équipes de chaque domaine, en tant qu'experts de leurs données, savent où elles sont stockées et comment elles sont traitées. Elles peuvent intégrer plusieurs sources de données dans leur partie du Data Mesh, en utilisant parfois leur propre Data Lake.
Ce principe signifie qu'il existe des consommateurs de données au-delà du domaine. Chaque équipe ou domaine de l'organisation est responsable de ses propres données, les traitant comme des produits qu'elles produisent et maintiennent, pour des utilisateurs finaux au sein de l’entreprise.
C’est pourquoi les produits de données doivent être facilement accessibles et interopérables. Cela signifie qu'ils doivent être bien documentés, standardisés et disponibles via des interfaces bien définies.
Chaque produit doit être :
En masquant la complexité architecturale sous-jacente, la plateforme d'infrastructure de données du Data Mesh vise à offrir une autonomie complète aux équipes de domaines pour créer, gérer et consommer des produits de données, sans dépendre de l'équipe centrale qui s’occupe de construire et maintenir la plateforme.
Dans une approche traditionnelle de l’architecture de données, le système de stockage devient souvent si difficile à gérer que seules quelques personnes qui le connaissent suffisamment peuvent l’exploiter. Cela conduit certaines équipes à créer leur propre plateforme, plus simple à utiliser.
L’approche Data Mesh offre une plateforme de données en libre-service indépendante du domaine, où l’équipe centrale fournit un ensemble d'outils standardisés pour l'ingestion, le traitement, le stockage et l'accès aux données.
Cela permet de personnaliser et d’étendre les capacités de la plateforme en fonction des besoins spécifiques de chaque domaine, tout en empêchant le phénomène de "shadow IT". C’est la garantie que chaque équipe utilise un ensemble d’outils unique et cohérent. Par ailleurs, cela permet également de réduire les dépenses grâce à des licences groupées à prix réduit et à l’optimisation des dépenses cloud sur des ressources coûteuses telles que les entrepôts de données.
Contrairement à une gouvernance centralisée où une seule entité est responsable de toutes les décisions et politiques liées aux données, la gouvernance fédérée répartit ces responsabilités entre plusieurs équipes ou domaines.
Chaque équipe ou domaine de données doit gérer en autonomie ses propres données, y compris la définition, la gestion et l'exploitation de ses produits de données.
Toutefois, bien que chaque domaine soit autonome, des standards et politiques communes sont établis à l'échelle de l'organisation pour assurer une certaine cohérence. Ces standards peuvent inclure des formats de données, des protocoles de sécurité, des pratiques de gestion des métadonnées, et des normes de qualité des données.
Un catalogue centralisé des métadonnées peut être maintenu pour permettre à toutes les équipes de découvrir, comprendre et utiliser les données disponibles à travers l'organisation.
La gouvernance est fédérée, ce qui signifie qu'elle est partagée entre les domaines et les entités centrales, équilibrant autonomie locale et cohérence globale.
Voici une représentation schématique de l’architecture Data Mesh :
Ce schéma montre comment l'architecture Data Mesh permet à chaque domaine de produire et de consommer des produits de données de manière décentralisée et interconnectée.
Le diagramme ci-dessus montre comment deux équipes de domaine exploitent ce modèle Data Mesh, la base du modèle étant la plateforme de données en libre-service. Voici une explication détaillée du processus de transformation des données :
Limpida vous propose de revenir sur 4 considérations avant de mettre en place un Data Mesh :
Le débat entre le Data Mesh et le Data Lake repose sur des différences méthodologiques significatives.
Historiquement, les entreprises utilisaient un entrepôt de données centralisé pour répondre à leurs besoins en matière de données. Cette approche, bien que fonctionnelle, a généré une dette technique importante et a mis une pression excessive sur l’équipe responsable des données.
Le Data Lake a émergé comme une solution pour offrir des données en temps réel et traiter des flux de données sans augmenter la charge de travail des équipes de données. Il permet d'ingérer, enrichir, transformer et diffuser les données depuis une plateforme centralisée, avec une dette technique limitée. Cependant, avec l'augmentation du volume de données et des cas d'utilisation, même le Data Lake a montré ses limites. Les lacs de données diminuent le contrôle des équipes sur les données à mesure que leur volume augmente.
C'est ici que le Data Mesh entre en jeu, en proposant une architecture orientée domaine qui combine les avantages des lacs de données distribués et la gestion autonome des pipelines par chaque domaine d'activité. Cette approche permet de limiter la dette technologique tout en offrant une plus grande agilité et autonomie aux équipes.
Pour la consommation des données, le Data Lake repose sur l'équipe de données pour opérationnaliser et fournir les données aux équipes fonctionnelles. Le Data Mesh, quant à lui, favorise le libre-service, permettant aux utilisateurs de se concentrer sur l'exploitation des données pour leurs besoins spécifiques sans dépendre d'une équipe centrale. Cette autonomie réduit la complexité technique pour les utilisateurs finaux et facilite l'expérimentation.
Enfin, le Data Lake est plus simple à gérer en matière de gouvernance des données puisque une seule équipe est responsable de cette dernière. Le Data Mesh demande une collaboration et un alignement sur des pratiques de qualité et des accords de niveau de service pour protéger les consommateurs de données en aval.
Pour résumer les différences entre ces deux approches, voici un récapitulatif :
Le Data Mesh considère les données comme un produit, visant à simplifier l'accès pour les équipes internes et les utilisateurs finaux. Cette approche réduit les barrières techniques et les frictions d'accès aux données, les rendant faciles à trouver et à utiliser. La Data Fabric adopte quant à elle une approche automatisée et centrée sur la technologie, ce qui la rend plus complexe à mettre en place et à comprendre pour ceux qui n'ont pas de compétences techniques en matière de données.
Le Data Mesh suit une philosophie décentralisée, créant plusieurs systèmes spécifiques à chaque domaine d'utilisation. Chaque domaine contrôle son propre jeu de données. En contraste, la Data Fabric unifie diverses sources de données en un seul système virtuel centralisé, accessible via des API. Cette différence d'architecture impacte l'accès aux données, le Data Mesh permettant un contrôle localisé par domaine, tandis que la Data Fabric centralise l'accès.
Le Data Mesh implique la contribution de chaque domaine, offrant une gouvernance plus participative où chaque service définit ses propres règles et contrôle ses flux de données. En revanche, la Data Fabric impose une gouvernance descendante, où une autorité centrale définit et applique les politiques de données.
Vous pouvez choisir l'une ou l'autre approche en fonction de vos besoins spécifiques, ou même combiner les deux pour tirer parti des avantages de chacune. L'option que vous choisissez dépendra en grande partie de votre stratégie de données et de votre facilité à démocratiser les données au sein de votre organisation.
Le concept de Data Mesh vise à répondre aux défis de l'échelle, de la complexité et de l'accessibilité des données dans les grandes organisations.
Voici quelques cas d'utilisation typiques du Data Mesh :