Talk
Let's Talk About Data Contracts: Standards, Tooling & Best Practices
Dr. Simon Harrer, Co-Founder & CEO @ Entropy Data ·
In diesem Vortrag beim INFOMOTION Data & AI Meetup Cologne erkläre ich alles, was du über Data Contracts wissen musst: was sie sind, warum sie wichtig sind, den Open Data Contract Standard (ODCS), Open-Source-Tooling, Best Practices für Versionierung und Lifecycle-Management und warum agentische KI Data Contracts so allgegenwärtig machen wird wie OpenAPI.
Danke an Prof. Dr. Ana Moya, Peter Baumann und INFOMOTION für die Organisation des Meetups und die Einladung zum Vortrag, und an Jochen Christ dafür, den Vortrag mitgestaltet zu haben.
TL;DR
Die fünf wichtigsten Punkte und Learnings aus dem Talk.
-
Data Contracts schaffen Vertrauen in Daten. Ein Data Contract definiert Ownership, Struktur, Semantik, Datenqualität und Nutzungsbedingungen zwischen einem Data Producer und seinen Consumers, wie eine API-Spezifikation für Daten. Nutze den Open Data Contract Standard (ODCS), der von PayPal stammt und heute bei der Linux Foundation liegt, statt noch ein eigenes Format zu erfinden.
-
Automatisiere alles auf Basis des Contracts. Mit der Data Contract CLI testest du die Daten täglich gegen den Contract, führst in jedem Pull Request Lint und Tests aus und veröffentlichst beim Merge auf main in deinen Datenmarktplatz. Derselbe Contract generiert außerdem Code, befüllt Datenkataloge und provisioniert Infrastruktur.
-
Halte das 1:1:1:1:1-Mapping ein. Ein Data Contract in einer Major-Version entspricht genau einem Output Port, einem Datenbankschema und einer Leserolle. Jede Abweichung, etwa ein Contract pro Tabelle oder mehrere Rollen pro Contract, macht es komplizierter und teurer.
-
Ein aktiver Contract ist die Source of Truth. Du kannst data-first starten und einen Contract aus bestehenden Daten importieren, aber ab dann sind abweichende Daten falsch, und Änderungen landen zuerst im Contract. Breaking Changes bekommen eine neue Major-Version, die während einer Übergangsfrist parallel zur alten, als deprecated markierten Version läuft.
-
KI-Agenten lieben Data Contracts. Für einen Agenten ist der Contract die Source of Truth für Metadaten, mit denen er die richtigen Daten findet, prüft und abfragt, abgesichert durch eine Governance-Schicht zwischen Agenten und Datenplattform. Die Prognose: In fünf Jahren ist ODCS so allgegenwärtig wie OpenAPI heute.
Q&A
Ausgewählte Fragen aus dem Publikum nach dem Vortrag.
F: Wie holen wir die Business-Seite ins Boot? Das fühlt sich alles noch sehr technisch an. Selbst deine Agenten-Demo hat Kunden-IDs zurückgegeben, keine Namen wie „Zalando“ oder „H&M“.
Zwei Antworten. Erstens: Der Grund, warum die Demo kryptisch aussah, war, dass der Agent nur Zugriff auf die IDs hatte -- er hatte keine Berechtigung, sie zu Klartextnamen aufzulösen. Mit den richtigen Berechtigungen würde er das tun. Zweitens: Die Data Contracts sind gezielt darauf ausgelegt, Business-Sprache zu transportieren. Wir haben Business-Namen für alle Spalten und Tabellen. Du kannst ein Data Dictionary oder Glossar definieren -- etwa „das bedeutet eine Bestellnummer“ -- einmal, und alle Contracts referenzieren diese Definition. Außerdem kannst du jetzt Beispielfragen, Antworten, Synonyme und ergänzendes Wissen an einen Contract anhängen, damit die KI noch besser antworten kann. Das ist alles für Business-User optimiert.
F: Ich komme aus der Produktion/Fertigung. Kann ich Beziehungen zwischen Datenpunkten modellieren -- etwa den Durchfluss durch ein Rohr, wohin er geht und wie viel ankommen soll?
Nicht direkt, weil Contracts auf Schema-Ebene arbeiten, nicht auf Instanz-Ebene. Wir betrachten, welche Spalten existieren, und treffen Aussagen über Spalten, aber nicht über einzelne Zeilen. Wenn jeder Datenpunkt im Grunde seine eigene Tabelle ist, kommst du in den Bereich von Digital Twin und Asset Administration Shell, und das ist eine andere Welt. Du könntest theoretisch für jede Tabelle einen Contract anlegen, aber du musst aufpassen, dass der Contract am Ende nicht größer wird als die Daten selbst.
Verwandte Artikel
Was ist ein Data Contract?
Ein Data Contract definiert Ownership, Struktur, Semantik, Qualität und Nutzungsbedingungen für den Datenaustausch. Lerne den Open Data Contract Standard (ODCS) anhand von Beispielen kennen.
Open Data Contract Standard (ODCS)
Lerne den Open Data Contract Standard (ODCS), die offene YAML-Spezifikation für Data Contracts unter Bitol: Struktur, Schema, Qualität und Beispiele.
dbt mit Data Contracts: synchronisieren statt nachpflegen
Wie du mit datacontract dbt sync Data Contracts zur Single Source of Truth eines bestehenden dbt-Projekts machst: Contract anlegen, in die Modelle synchronisieren, Tests generieren und Drift in der CI abfangen.