Conférence
Open Standards for Data Mesh
Dr. Simon Harrer, Co-Founder & CEO @ Entropy Data ·
Dans cette conférence donnée au Data Mesh Belgium Meetup #7 de Louvain, je passe en revue les trois standards ouverts qui façonnent aujourd’hui la construction d’un Data Mesh : l’Open Data Contract Standard (ODCS), l’Open Data Product Standard (ODPS) et l’Open Semantic Interchange (OSI). Je montre comment ils s’articulent, où va l’outillage, et pourquoi l’un d’eux sera partout d’ici quatre ans.
Merci à Tom De Wolf (ACA) et Emma Houben (AE) pour l’invitation et l’accueil du meetup, ainsi qu’à la communauté BITOL pour les standards ouverts que nous construisons ensemble.
TL;DR
Les cinq points clés et enseignements de la conférence.
-
Les bons standards sont ouverts et partagés. Les standards qui valent la peine sont adoptés de facto, portés par une initiative ouverte, façonnés par de nombreux contributeurs et libres d’utilisation. Si un seul éditeur les dicte, ce ne sont pas des standards.
-
Le Data Contract est la couche de confiance. Un Data Contract définit la propriété, la structure, la sémantique, la qualité et les conditions d’utilisation des données échangées entre un Data Producer et ses Data Consumers, comme une API pour les données. Quand les données et le contrat divergent, ce sont les données qui ont tort.
-
L’outillage compte plus que le standard. Un contrat ne prend de la valeur que si vous automatisez par-dessus : tests, détection des breaking changes, génération de code et diffusion des métadonnées vers les catalogues de données. Sur GitHub, la Data Contract CLI est plus populaire que la spécification ODCS elle-même.
-
ODPS transforme les contrats en graphe du mesh. Chaque produit de données déclare des Input Ports et des Output Ports qui référencent des Data Contracts ODCS : le graphe de dépendances de votre Data Mesh se déduit des fichiers YAML au lieu d’être dessiné à la main. Attention à l’homonymie : l’Open Data Product Standard de BITOL n’est pas l’Open Data Product Specification.
-
ODCS sera partout dans quatre ans. Swagger 1.0 est sorti en 2011 et OpenAPI est aujourd’hui partout. ODCS 3.0 est sorti en 2025 et, comme le monde va plus vite, la prédiction est qu’il se diffusera bien plus rapidement : mieux vaut s’y préparer.
Q&A
Une sélection de questions posées par le public après la conférence.
Q : Si vous avez de nombreux Data Contracts issus de la même source et que vous devez maintenir et modifier les mêmes contrôles de qualité dans tous, comment faites-vous ?
La meilleure approche consiste à remonter le contrôle de qualité le plus en amont possible, au plus près du système source, pour attraper les erreurs tôt et éviter de rejouer les mêmes contrôles coûteux tout au long du graphe. Si ce n’est pas possible, une réponse est l’IA : avec des agents comme Claude Code, il devient assez peu coûteux de garder des contrôles cohérents entre contrats, et ce n’est pas aussi effronté que ça en a l’air. Au-delà, le motif que nous utilisons habituellement, c’est de relier le contrat à un modèle sémantique. Vous définissez order_id une seule fois, avec sa description, son type et son format (« commence par 053 »), et vous en héritez partout. Bonus : comme deux contrats pointent vers le même concept order_id, l’IA sait que ces tables peuvent être jointes. C’est la même chose, pas simplement quelque chose de similaire.
Q : Quel est le rapport entre OSI et DCAT ?
Aujourd’hui, aucun. DCAT vit dans le monde RDF et du web sémantique, comme vocabulaire de catalogue, inspiré des bibliothèques et des offres de jeux de données. Un groupe de travail d’OSI planche sur l’ajout de sémantique, avec des concepts et des propriétés, c’est-à-dire un graphe encodé en YAML, ce qui rapprochera les deux. Mais je ne crois pas qu’ils s’emboîteront jamais parfaitement. DCAT se compose naturellement en RDF avec d’autres vocabulaires, DPROD de l’OMG par exemple. Les formats YAML comme OSI sont plus stricts. Le choix du format a des conséquences.
Q : Vous avez parlé d’automatiser les transformations à partir du Data Contract. Avez-vous un exemple ? J’avais compris que le contrat ne portait pas la logique de transformation.
C’est exact : le contrat s’adresse au consommateur, pas à l’implémentation. Il porte quelques indices de transformation (d’où vient une colonne, une courte description), mais il reste volontairement limité. Vous pouvez toujours utiliser les propriétés personnalisées d’ODCS pour encoder ce dont vous avez besoin. Ce qui fonctionne très bien en pratique : donner à Claude Code les contrats d’entrée et de sortie, plus une skill du type « voilà comment nous construisons généralement un produit de données sur Databricks », et le laisser combler les trous. Ajoutez des liens sémantiques pointant vers les mêmes concepts d’un contrat à l’autre, et l’IA déduit aussi les jointures. Pour les détails de data lineage à l’exécution, c’est-à-dire le fonctionnement réel de la pipeline, utilisez les traces OpenLineage. C’est cela qui capture le lineage au niveau colonne, pas le contrat.
Articles associés
Open Data Contract Standard (ODCS)
Découvrez l'Open Data Contract Standard (ODCS), une spécification YAML ouverte pour les Data Contracts, gouvernée par Bitol. Structure, schema, qualité des données et exemples.
Open Standards for Data Products
Conférence annotée de Dr. Simon Harrer (Entropy Data) au TDWI München 2026 sur les standards ouverts des produits de données (ODCS, ODPS et OSI), l'outillage open source qui les accompagne et une démo live d'un agent de code qui construit un produit de données à partir d'un Data Contract.
Qu'est-ce qu'un produit de données ?
Un produit de données est une unité logique qui regroupe tous les composants nécessaires pour traiter et stocker les données d'un domaine métier, au service de cas d'usage analytiques, et les met à disposition des autres équipes via des Output Ports.