Zum Hauptinhalt springen

Data Contracts

Was ist ein Data Contract, und warum brauchst du einen?

Von Dr. Simon Harrer · · Video 2:02 · 8 Folien

Kurz gesagt

Ein Data Contract ist ein schriftliches Versprechen von einem Data Producer an seine Data Consumers. Er beschreibt die Daten und die Regeln, die die Daten einhalten müssen. Ohne ihn kann eine kleine Änderung die Data Consumers brechen, und niemand merkt es rechtzeitig.

Auf YouTube ansehen
Folie 1 von Entropy Explains Folge 1, Eine kleine Änderung bricht drei Consumers: Ein Team produziert die orders-Tabelle.

Eine kleine Änderung bricht drei Consumers

Ein Team produziert die orders-Tabelle. Ein Dashboard, ein ML-Modell und ein KI-Agent nutzen diese Tabelle. Der Data Producer benennt eine Spalte von amount in total um. Alle drei Data Consumers brechen, weil niemand wusste, dass sie diese Spalte nutzen.

Folie 2 von Entropy Explains Folge 1, Schreib das Versprechen auf: Der Data Producer schreibt das Versprechen in ein Dokument.

Schreib das Versprechen auf

Der Data Producer schreibt das Versprechen in ein Dokument. Die Data Consumers lesen dasselbe Dokument und verlassen sich darauf. Dieses Dokument ist ein Data Contract. Es ist der eine Ort, an dem sich beide Seiten auf die Daten verständigen.

Folie 3 von Entropy Explains Folge 1, Was in einen Data Contract gehört: Ein Data Contract hat acht Teile.

Was in einen Data Contract gehört

Ein Data Contract hat acht Teile. Die Fundamentals nennen die ID, die Version und den Status. Weitere Teile beschreiben das Schema, die Datenqualitätsregeln und das Team. Die letzten Teile nennen die Nutzungsbedingungen, die Service Levels, die Server und den Kontext für KI-Agenten.

Folie 4 von Entropy Explains Folge 1, Eine YAML-Datei: In der Praxis ist der Data Contract eine YAML-Datei im Open Data Contract Standard, ODCS.

Eine YAML-Datei

In der Praxis ist der Data Contract eine YAML-Datei im Open Data Contract Standard, ODCS. Menschen können diese Datei lesen. Tools können sie auch lesen. Dieselbe Datei zeigt das Schema, die Qualitätsregeln und das Freshness-Versprechen.

Folie 5 von Entropy Explains Folge 1, Ein Standard und zwei Open-Source-Tools: ODCS ist der De-facto-Standard für Data Contracts.

Ein Standard und zwei Open-Source-Tools

ODCS ist der De-facto-Standard für Data Contracts. Bitol, ein Linux Foundation Projekt, pflegt ihn. Mit dem Open-Source Data Contract Editor bearbeitest du die Datei visuell. Die Open-Source Data Contract CLI prüft die Datei und testet die Daten in deiner CI-Pipeline.

Folie 6 von Entropy Explains Folge 1, Maschinen prüfen das Versprechen: Die Data Contract CLI liest den Data Contract und prüft die echten Daten dagegen.

Maschinen prüfen das Versprechen

Die Data Contract CLI liest den Data Contract und prüft die echten Daten dagegen. Sie prüft, dass die Order-ID vorhanden ist und die Typen passen. Sie prüft außerdem, dass kein Betrag negativ ist und die Daten weniger als eine Stunde alt sind.

Folie 7 von Entropy Explains Folge 1, Der Test schlägt zuerst fehl: Jetzt kommt ein fehlerhafter Datensatz mit einem negativen Betrag.

Der Test schlägt zuerst fehl

Jetzt kommt ein fehlerhafter Datensatz mit einem negativen Betrag. Der Test schlägt fehl, bevor ein Data Consumer die falschen Zahlen sieht. Die CLI zeigt, welcher Check fehlgeschlagen ist und welcher Wert falsch ist. Der Data Producer kann das Problem beheben, bevor es bei den Data Consumern Schaden anrichtet.

Folie 8 von Entropy Explains Folge 1, Eine API für Daten: Ein Data Contract ist eine API für Daten.

Eine API für Daten

Ein Data Contract ist eine API für Daten. Der Data Producer gibt Versprechen, und der Data Consumer verlässt sich darauf. Der Data Contract hilft bei Kommunikation, Vertrauen und Discovery, für Menschen und für KI-Agenten.