Talk
Let's Talk About Data Contracts: Standards, Tooling & Best Practices
Dr. Simon Harrer, Co-Founder & CEO @ Entropy Data ·
In this talk at the INFOMOTION Data & AI Meetup Cologne, I cover everything you need to know about data contracts: what they are, why they matter, the Open Data Contract Standard (ODCS), open source tooling, best practices for versioning and lifecycle management, and why agentic AI will make data contracts as ubiquitous as OpenAPI.
Thanks to Prof. Dr. Ana Moya, Peter Baumann, and INFOMOTION for organizing the meetup and the invitation to speak, and Jochen Christ for helping shape the talk.
TL;DR
Five key points and lessons learned from the talk.
-
Data contracts build trust in data. A data contract defines ownership, structure, semantics, data quality and terms of use between a data producer and its consumers, like an API specification for data. Use the Open Data Contract Standard (ODCS), which started at PayPal and now lives at the Linux Foundation, instead of inventing yet another homegrown format.
-
Automate everything on top of the contract. With the Data Contract CLI you test the data against the contract daily, lint and test in every pull request, and publish to your data marketplace on merge to main. The same contract also generates code, feeds catalogs and provisions infrastructure.
-
Keep the 1:1:1:1:1 mapping. One data contract in a major version maps to one output port, one database schema and one read role. Every deviation, like a contract per table or several roles per contract, makes things more complicated and expensive.
-
Once active, the contract is the source of truth. You can start data-first and import a contract from existing data, but from then on, data that deviates from the contract is wrong, so changes go into the contract first. Breaking changes get a new major version that runs in parallel with the deprecated old one during a grace period.
-
AI agents love data contracts. For an agent, the contract is the source of truth for the metadata it uses to find, verify and query the right data, with a governance layer between agents and the data platform. The prediction: within five years, ODCS will be as ubiquitous as OpenAPI is today.
Q&A
Selected questions from the audience after the talk.
Q: How do we get the business side on board? This all still feels very technical. Even your agent demo returned customer IDs, not names like "Zalando" or "H&M."
Two answers. First, the reason the demo looked cryptic was that the agent only had access to the IDs -- it did not have permission to resolve them to plain-text names. With the right permissions, it would do that. Second, the data contracts are specifically designed to carry business language. We have business names for all columns and tables. You can define a data dictionary or glossary -- say, "this is what an order number means" -- once, and all contracts reference that definition. Additionally, you can now attach example questions, answers, synonyms, and supplementary knowledge to a contract so the AI can answer even better. That is all optimized for business users.
Q: I come from the production/manufacturing side. Can I model relations between data points -- like flow through a pipe, where it goes, and how much should arrive?
Not directly, because contracts operate at the schema level, not the instance level. We look at which columns exist and make assertions about columns, but not about individual rows. If each data point is essentially its own table, you are getting into Digital Twin and Asset Administration Shell territory, which is a different world. You could theoretically create a contract for each table, but you need to be careful that the contract does not end up bigger than the data itself.
Related articles
What is a Data Contract?
A data contract defines ownership, structure, semantics, quality, and terms of use for data exchange. Learn about the Open Data Contract Standard (ODCS) with examples.
Open Data Contract Standard (ODCS)
Learn the Open Data Contract Standard (ODCS), an open YAML spec for data contracts governed by Bitol. Covers its structure, schema, data quality and examples.
dbt with Data Contracts: Stop drifting, start syncing
How to use datacontract dbt sync to make data contracts the source of truth in an existing dbt project: bootstrap a contract, sync it into your models, generate tests, and gate drift in CI.