Zum Hauptinhalt springen

Data Contracts und Datenprodukte

Was ist ein Datenprodukt, und wie hängt es mit Data Contracts zusammen?

Von Dr. Simon Harrer · · Video 2:38 · 9 Folien

Kurz gesagt

Ein Datenprodukt besteht aus den Daten, dem Code, der sie erzeugt, und den Metadaten, die sie beschreiben. Ein Team verantwortet es. Jeder Output Port des Datenprodukts hat seinen eigenen Data Contract, das Versprechen für genau diesen Port.

Auf YouTube ansehen
Folie 1 von Entropy Explains Folge 2, Mehr als eine Tabelle: Viele denken, ein Datenprodukt sei nur eine Tabelle.

Mehr als eine Tabelle

Viele denken, ein Datenprodukt sei nur eine Tabelle. Zu einem Datenprodukt gehört auch der Code, der die Daten erzeugt. Dazu kommen die Metadaten, die sagen, wer es verantwortet, welche Ports es hat und welche Data Contracts gelten. Ein Team verantwortet das Ganze.

Folie 2 von Entropy Explains Folge 2, Input Ports und Output Ports: Daten kommen über Input Ports in das Datenprodukt.

Input Ports und Output Ports

Daten kommen über Input Ports in das Datenprodukt. Hier kommen sie aus dem Web-Shop und aus dem payments-Datenprodukt. Das Datenprodukt gibt seine Daten über Output Ports heraus. Jeder Output Port verweist auf einen Data Contract, das Versprechen für genau diesen Port.

Folie 3 von Entropy Explains Folge 2, Eine YAML-Datei in ODPS: Das Datenprodukt ist ebenfalls eine YAML-Datei.

Eine YAML-Datei in ODPS

Das Datenprodukt ist ebenfalls eine YAML-Datei. Sie nutzt den Open Data Product Standard, ODPS. Die Datei listet das Owner-Team, die Input Ports und die Output Ports. Jeder Output Port zeigt auf seinen Data Contract in ODCS.

Folie 4 von Entropy Explains Folge 2, Code und Beschreibung in Git: Die Datenprodukt-Datei liegt in Git, neben dem Pipeline-Code und den Data Contracts.

Code und Beschreibung in Git

Die Datenprodukt-Datei liegt in Git, neben dem Pipeline-Code und den Data Contracts. Code und Beschreibung ändern sich gemeinsam, im selben Pull Request. Bei jeder Änderung veröffentlicht die CI-Pipeline das Datenprodukt in einem Datenmarktplatz.

Folie 5 von Entropy Explains Folge 2, Zugriff mit einem Zweck anfragen: Im Datenmarktplatz finden Data Consumers die Datenprodukte, die sie brauchen.

Zugriff mit einem Zweck anfragen

Im Datenmarktplatz finden Data Consumers die Datenprodukte, die sie brauchen. Ein Data Consumer fragt Zugriff auf einen Output Port an und nennt einen Zweck. Das Owner-Team genehmigt ihn, oder eine Policy genehmigt ihn automatisch. Ein Access Agreement verbindet dann die beiden Teams unter den Nutzungsbedingungen.

Folie 6 von Entropy Explains Folge 2, Ein Breaking Change, eine neue Version: Der Data Producer will amount in total umbenennen.

Ein Breaking Change, eine neue Version

Der Data Producer will amount in total umbenennen. Das ist ein Breaking Change. Also bleibt Version 1 wie sie ist, und daneben startet ein neuer Output Port mit Version 2. Die Data Contract CLI zeigt den Breaking Change, bevor er live geht.

Folie 7 von Entropy Explains Folge 2, Consumers migrieren in ihrem eigenen Tempo: Beide Output Ports laufen parallel.

Consumers migrieren in ihrem eigenen Tempo

Beide Output Ports laufen parallel. Jeder Data Consumer wechselt von Version 1 auf Version 2, wenn er bereit ist. Kein Data Consumer muss am selben Tag umstellen wie der Data Producer. Der Data Producer sieht, welche Data Consumers noch Version 1 nutzen.

Folie 8 von Entropy Explains Folge 2, Die alte Version abschalten: Wenn kein Data Consumer mehr Version 1 nutzt, schaltet der Data Producer sie ab.

Die alte Version abschalten

Wenn kein Data Consumer mehr Version 1 nutzt, schaltet der Data Producer sie ab. Nur Version 2 bleibt. Das Datenprodukt verändert sich ohne Ausfall für seine Data Consumers. Jeder Data Consumer hatte Zeit, Version 2 vor der Umstellung zu testen.

Folie 9 von Entropy Explains Folge 2, Verantwortung und Garantien: Jedes Datenprodukt hat ein Owner-Team.

Verantwortung und Garantien

Jedes Datenprodukt hat ein Owner-Team. Der Data Contract gibt die Garantien für jeden Output Port. Ein Access Agreement verbindet das Datenprodukt mit jedem Data Consumer. Zusammen entstehen Daten, die Menschen und KI-Agenten finden, nutzen und denen sie vertrauen können.