Pour beaucoup, le rêve du data warehouse a tourné au cauchemar. Les préoccupations métiers ont été supplantées par des implémentations techniques et les pipelines de données.

Les équipes d'ingénierie travaillant sur des données en silos sont contraintes de les déplacer, les copier et les transformer pour obtenir des jeux de données exploitables à tous les niveaux de l'entreprise. La demande d'analyse - d'un plus grand volume de données, provenant d'un plus grand nombre de sources -, qui émane d'un plus grand nombre d'analystes, est devenue si forte que les ingénieurs de données ne peuvent plus suivre le rythme des demandes. Quant aux métiers, ils attendent un temps interminable des données qui lorsqu’elles sont disponibles deviennent obsolètes.

Bien que les outils de gestion des données se soient considérablement améliorés au cours de la dernière décennie, bon nombre de ces préoccupations ont été transposées dans le cloud. Personne ne veut plus utiliser une multitude d'outils différents ou avoir des systèmes analytiques cloisonnés avec des sous-ensembles de données redondants et constamment transformés pour s’adapter aux différents data warehouses et modèles de données.

Beaucoup souhaitent évoluer vers une approche de développement décentralisée, mais coordonnée et incrémentale, dans laquelle différentes équipes métiers intègrent leurs données de manière autonome pour créer des jeux de données réutilisables et les mettre à disposition pour le partage - c'est la promesse du data mesh.

Démystifier le data mesh

En réalité, les entreprises n'utilisent qu'une petite partie de leurs immenses masses de données centralisées pour créer, par exemple, de nouveaux produits et générer de la valeur pour leurs clients. Tout cela, parce que les systèmes existants ne leur permettent pas d'exploiter toutes leurs données.

Développé par ZhamakDeghani en 2019, le data mesh répond aux attentes latentes des dirigeants et aux frustrations majeures des équipes techniques qui travaillent sur le data warehouse. Ce concept propose une nouvelle approche de la gestion des données analytiques à travers quatre principes clés : la propriété décentralisée des données orientée "domaine", les données en tant que produit, une plateforme commune en libre-service et la gouvernance des données fédérées.

Le data mesh est le reflet de l'état naturellement distribué des données. Il rompt avec la pensée monolithique communément admise dans le monde des données, de la même manière que le cloud et les microservices ont transformé le développement d'applications. Il promeut une architecture décentralisée, où les données sont détenues et traitées comme des produits par les responsables du domaine qui les créent, les consomment et les partagent à nouveau.

Cela crée un cycle vertueux où davantage d’utilisateurs métiers et non-techniques utilisent les données dans l'entreprise. Avec le data mesh, la complexité se transforme en une interface libre-service et intuitive, adossée à une plateforme qui offre à la fois autonomie et gouvernance centralisée.

Ceci étant dit, par où les entreprises doivent-elles commencer lorsqu'elles souhaitent mettre en œuvre un projet data mesh ?

Mettre en place un service centralisé de gestion de projet

Avant toute chose, il faudrait mettre en place une couche unifiée d'accès aux données qui sera gouvernée par une organisation centralisée. Dans une structure data mesh, cela signifie que les standards de gouvernance des données sont définis au niveau central, mais que les équipes locales disposent de l'autonomie et des ressources nécessaires pour appliquer ces standards de la manière la plus adaptée à leur contexte.

Les standards de gouvernance des données concernent non seulement la sécurité, mais aussi le cycle de vie des jeux de données (data products) et la documentation, afin de garantir leur interopérabilité et leur réutilisation. Ce projet doit être piloté par un Chief Data Officer, afin de coordonner les activités de développement au sein de multiples équipes décentralisées et de les aligner sur la stratégie de l'entreprise.

Un tel service centralisé de gestion de projet soutient les équipes décentralisées d'ingénierie des données et présente plusieurs avantages. Il permet non seulement à l'entreprise de se concentrer sur les données et l'analyse, mais aussi de s'assurer que chaque projet de données et d'analyse est aligné sur un ou plusieurs objectifs opérationnels de la stratégie globale.

De plus, il permet une planification et une coordination collaboratives de tous les jeux de données, des rapports ou de tableaux de bord BI et du développement de modèles d'apprentissage (ML) impliquant plusieurs domaines, tout en évitant la réinvention et le travail en silos.

S'engager sur la voie de la standardisation

La standardisation est nécessaire pour industrialiser le développement des jeux de données et éviter toute complexité inutile. Ceci améliorera la productivité du développement en permettant le partage et la réutilisation des données et des métadonnées au sein d'équipes de producteurs de données opérant dans un domaine spécifique, facilitant ainsi la gestion et la maintenance de l'ensemble sur le long terme.

L'un des principaux avantages est que les équipes d'ingénieurs peuvent créer des jeux de données fondamentaux et les partager avec tous. Cela permet également de produire des jeux de données de référence (spécifiques à un domaine) et de les rationaliser, ce qui évite leur duplication. En outre, les données sources peuvent être laissées là où elles se trouvent, et des règles de transformation et d’association peuvent être définies pour intégrer les données, afin de créer des jeux de données virtuels ou physiques, sans perte de résolution.

La standardisation garantit également une approche commune du développement et de la gouvernance des jeux de données, et ce, de l'ingestion des sources associées jusqu’à leur publication.

Renforcer la gouvernance et libérer la valeur

Grâce au data mesh, les métiers ont la possibilité de prendre la main, de créer, de gérer, de documenter et de partager des jeux de données en toute autonomie, et de découvrir et d'utiliser ceux existants, partagés par d'autres domaines. Ainsi, les ingénieurs de données pourront se concentrer sur des projets structurants comme le développement de modèles de données fondamentaux cités plus haut ou mettre en place une plateforme plus fiable et plus performante pour exécuter les charges de travail analytiques de toute l'entreprise.

L'analyse des données et la création de jeux de données pertinents pour les métiers doivent être au service des objectifs de l'entreprise, afin de satisfaire les utilisateurs et renforcer les équipes interfonctionnelles, en mettant à leur portée l'ensemble des données de l'entreprise.

Par Yassine Faihe, Sr. Director, Architectures & Avant-Ventes chez Dremio