Data Mesh distributes data ownership to domain teams — each team owns, serves, and maintains their data as a product.
| Principle | Description | Implementation |
|---|---|---|
| Domain Ownership | Teams own their data end-to-end | Orders team owns orders pipeline |
| Data as a Product | Data treated like a product with SLAs | Quality, docs, SLOs per dataset |
| Self-Serve Platform | Central infra team provides tools | Shared Airflow, Spark, dbt platform |
| Federated Governance | Central standards, local autonomy | Shared schema registry, naming conventions |
# Domain team owns their data product
# orders-team/
# dbt/ -- transformations
# airflow/ -- orchestration
# tests/ -- quality checks
# contracts/ -- schema contracts
# Data Contract (schema registry)
{
"name": "orders.completed",
"version": "2.1.0",
"owner": "orders-team",
"slo": {"freshness": "< 30 minutes", "availability": "99.9%"},
"schema": {
"order_id": {"type": "string", "required": true},
"amount": {"type": "number", "min": 0}
},
"consumers": ["finance-team","analytics-team"]
}