Data Contracts sind formale Vereinbarungen zwischen Datenproduzenten und -konsumenten. Schema, Qualität, SLA und Evolutionsregeln — wie ein API-Vertrag für Daten.
Warum Data Contracts¶
Ohne Contracts ändert Upstream das Schema und bricht die Downstream-Pipeline.
# orders-contract.yml
apiVersion: v1
kind: DataContract
metadata:
name: orders-events
version: "1.2.0"
owner: orders-team
schema:
fields:
- name: order_id
type: string
required: true
- name: total_czk
type: decimal
constraints:
- type: range
min: 0
quality:
freshness: "< 1 hour"
completeness: "> 99.5%"
sla:
availability: "99.9%"
evolution:
breaking_changes: "major version + 30 day deprecation"
In der Praxis¶
- Semantic Versioning
- CI/CD-Validierung
- Deprecation-Zeitraum
- Kontinuierliches SLA-Monitoring
Zusammenfassung¶
Data Contracts verhindern Breaking Changes und gewährleisten die Qualität von Datenschnittstellen.
data contractsdata qualityschemagovernance