Conférence
Let's Talk About Data Contracts: Standards, Tooling & Best Practices
Dr. Simon Harrer, Co-Founder & CEO @ Entropy Data ·
Dans cette conférence donnée à l’INFOMOTION Data & AI Meetup Cologne, je passe en revue tout ce qu’il faut savoir sur les Data Contracts : ce qu’ils sont, pourquoi ils comptent, l’Open Data Contract Standard (ODCS), l’outillage open source, les bonnes pratiques de versionnement et de gestion du cycle de vie, et pourquoi l’IA agentique va rendre les Data Contracts aussi incontournables qu’OpenAPI.
Merci à Prof. Dr. Ana Moya, Peter Baumann et INFOMOTION d’avoir organisé ce meetup et de m’avoir invité à y intervenir, ainsi qu’à Jochen Christ pour son aide dans la préparation de cette conférence.
TL;DR
Les cinq points clés et enseignements de la conférence.
-
Les Data Contracts créent la confiance dans les données. Un Data Contract définit la propriété, la structure, la sémantique, la qualité des données et les conditions d’utilisation entre un Data Producer et ses Data Consumers, comme une spécification d’API pour les données. Utilisez l’Open Data Contract Standard (ODCS), issu de PayPal et désormais hébergé par la Linux Foundation, plutôt que d’inventer un énième format maison.
-
Tout automatiser à partir du contrat. Avec le Data Contract CLI, vous testez chaque jour les données contre le contrat, lancez lint et tests dans chaque pull request et publiez dans votre marketplace de données à chaque merge sur main. Le même contrat génère aussi du code, alimente les catalogues de données et provisionne l’infrastructure.
-
Respecter le mapping 1:1:1:1:1. Un Data Contract dans une version majeure correspond à un Output Port, un schéma de base de données et un rôle de lecture. Chaque écart, comme un contrat par table ou plusieurs rôles par contrat, rend les choses plus complexes et plus coûteuses.
-
Un contrat actif est la source de vérité. Vous pouvez partir des données existantes et en importer un premier contrat, mais dès son activation, des données qui s’en écartent sont fausses, et tout changement passe d’abord par le contrat. Un changement cassant donne lieu à une nouvelle version majeure, qui coexiste avec l’ancienne, dépréciée, pendant une période de grâce.
-
Les agents IA adorent les Data Contracts. Pour un agent, le contrat est la source de vérité des métadonnées qui lui permettent de trouver, vérifier et interroger les bonnes données, avec une couche de gouvernance entre les agents et la plateforme de données. La prédiction : dans cinq ans, ODCS sera aussi omniprésent qu’OpenAPI aujourd’hui.
Q&A
Une sélection de questions posées par le public après la conférence.
Q : Comment embarquer le métier ? Tout cela reste très technique. Même votre démo d’agent renvoyait des identifiants clients, pas des noms comme « Zalando » ou « H&M ».
Deux réponses. D’abord, si la démo paraissait cryptique, c’est que l’agent n’avait accès qu’aux identifiants : il n’avait pas le droit de les résoudre en noms en clair. Avec les bonnes permissions, il l’aurait fait. Ensuite, les Data Contracts sont justement conçus pour porter le langage métier. Nous avons des noms métier pour toutes les colonnes et toutes les tables. Vous pouvez définir un dictionnaire de données ou un glossaire une seule fois, du type « voilà ce que signifie un numéro de commande », et tous les contrats renvoient à cette définition. Vous pouvez en plus attacher à un contrat des exemples de questions, des réponses, des synonymes et des connaissances complémentaires pour que l’IA réponde encore mieux. Tout cela est pensé pour les utilisateurs métier.
Q : Je viens du monde de la production industrielle. Est-ce que je peux modéliser des relations entre points de données, par exemple un débit dans une conduite, où il va et combien doit arriver ?
Pas directement, parce que les contrats se situent au niveau du schéma, pas au niveau des instances. On regarde quelles colonnes existent et on formule des assertions sur les colonnes, pas sur les lignes individuelles. Si chaque point de données est en pratique sa propre table, vous entrez dans le territoire du jumeau numérique et de l’Asset Administration Shell, qui est un autre monde. Vous pourriez théoriquement créer un contrat par table, mais attention à ce que le contrat ne finisse pas par peser plus lourd que les données elles-mêmes.
Articles associés
Qu'est-ce qu'un Data Contract ?
Un Data Contract définit la propriété, la structure, la sémantique, la qualité et les conditions d'utilisation d'un échange de données. Découvrez l'Open Data Contract Standard (ODCS) avec des exemples.
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.
dbt et les Data Contracts : synchroniser au lieu de recopier
Comment utiliser datacontract dbt sync pour faire des Data Contracts la source de vérité d'un projet dbt existant : créer un contrat, le synchroniser dans vos modèles, générer les tests et bloquer la dérive en CI.