Zurück zum Data Mesh-Leitfaden
Data Mesh — Cover

Data Mesh · Cluster

Data Contracts — Vereinbarungen zwischen Teams

Data Contracts — Vereinbarungen zwischen Teams: was Jonas Rashedi (Chief Digital Officer, MDIBTY-Host) in diesem Leitfaden-Cluster erklärt. Data Contracts in der Mesh-Praxis: Schema-Garantie, SLA, Breaking-Change-Management. Wann sie nötig werden und wie du sie operativ umsetzt. Beantwortet u. a.: data contract beispiel; schema agreement. Teil des Leitfadens „Data Mesh" auf jonas-rashedi.de.

Data Contracts in der Mesh-Praxis: Schema-Garantie, SLA, Breaking-Change-Management. Wann sie nötig werden und wie du sie operativ umsetzt.

704 Wörter 3 min Lesezeit

Data Contracts formalisieren die Beziehung zwischen Produzenten und Konsumenten eines Data Products. Sie sind der Unterschied zwischen einer Absprache, die bei Personalwechsel verloren geht, und einer dokumentierten Vereinbarung, die Teamgrenzen überdauert.

Wann werden Data Contracts wirklich gebraucht?

Zwei-Team-Szenario: Ein Produzent, ein Konsument. Absprache reicht. Data Contract ist Overkill.

Multi-Team-Szenario: Ein Produzent, 3+ Konsumenten. Jede Schema-Änderung wird zum Drama, wenn sie nicht koordiniert ist. Data Contract wird Pflicht.

Cross-Domain-Szenario: Produzenten und Konsumenten aus verschiedenen Fachdomänen. Ohne Contract driften die Erwartungen, niemand kennt mehr die tatsächliche Nutzung.

Externe Konsumenten: Wenn Daten nach außen gehen (Partner, Kunden, Aufsichtsbehörden) — Contract wird rechtlich relevant.

Die Pflichtgrenze liegt bei etwa 3 Konsumenten pro Data Product. Darunter lohnt sich oft nicht der Pflegeaufwand.

Anatomie eines Data Contracts

1. Header.

2. Schema.

3. Semantic Descriptions.

4. SLA.

5. Qualitätsgarantien.

6. Change-Management.

7. Access-Control.

8. Support.

Ein Beispiel-Contract (YAML)

```yaml name: customer-profile-v2 version: 2.1.0 owner: marketing-data-team status: stable

schema: fields:

type: STRING nullable: false description: "Unified Customer ID from Identity Resolution"

type: STRING nullable: false description: "SHA-256 hash der E-Mail, lowercase vor Hash"

type: DECIMAL(10,2) nullable: true description: "Predicted CLV in EUR, updated weekly" unit: EUR

type: STRING enum: [A, B, C] description: "ABC-Segment basierend auf 12M Umsatz"

sla: update_frequency: daily latency_p95: 6h availability: 99.5%

quality: checks:

change_management: breaking_change_notice: 60d deprecation_policy: "Fields marked @deprecated stay for 90d before removal" ```

Dieses Format ist maschinenlesbar und kann für Contract-Enforcement automatisiert werden.

Contract Enforcement

Ein Contract ohne Enforcement ist ein Dokument. Operational wird er erst durch Automation.

Schema-Validation: Jede Pipeline-Ausführung prüft, ob der produzierte Output dem Contract entspricht. Abweichungen blockieren den Release.

Quality-Checks: Automatische Validierung der Qualitätsgarantien. Bei Verletzung: Alert an Owner.

Breaking-Change-Detection: Bei jedem Schema-Diff wird geprüft, ob es ein Breaking Change ist. Falls ja, Review-Prozess.

Consumer-Notifications: Automatische Benachrichtigung der Konsumenten bei Änderungen.

Tools wie PactFlow (für APIs), Monte Carlo (Data Quality), oder selbstgebaute Validator können das umsetzen.

Breaking-Change-Management

Der kritischste Teil jedes Contracts.

Was ist ein Breaking Change?

Was ist kein Breaking Change?

Prozess bei Breaking Changes:

  1. Ankündigung mit Lead-Time (z. B. 60 Tage)
  2. Neue Version parallel betreiben
  3. Konsumenten haben Zeit zu migrieren
  4. Alte Version stilllegen

Data Contracts und Data Mesh

In einem Data-Mesh sind Data Contracts die formalisierte Schnittstelle zwischen Data Products und ihren Konsumenten. Sie ersetzen:

In einem zentralen Data Warehouse existieren Contracts implizit (die zentrale Governance überwacht), in einem Mesh müssen sie explizit gemacht werden, weil die Ownership verteilt ist.

Häufige Fehler

Fehler 1 — Contract als einmaliges Dokument. Einmal geschrieben, nie aktualisiert. In 6 Monaten stimmt er nicht mehr.

Fehler 2 — Kein Enforcement. Contract existiert, aber Schema-Änderungen passieren ohne Contract-Update.

Fehler 3 — Zu strict. Jede Änderung ist Breaking Change. Führt zu Stillstand in der Weiterentwicklung.

Fehler 4 — Zu lax. Alles ist kompatibel. Führt zu kaputten Downstream-Pipelines ohne Warnung.

Fehler 5 — Nur Schema, kein SLA. Contract ohne Performance-Zusage ist halber Contract.


Verbindungen: Data Products als zentrales Artefakt. Einführung für die Mesh-Prinzipien.