Problem
A central data team becomes a bottleneck, lacking domain knowledge and unable to keep up with requests. Data quality suffers because producers are detached from consumers.
Also known as: domain-oriented-data-architecture
Decentralize analytical data ownership to domain teams that publish data as products on a shared self-serve platform.
A central data team becomes a bottleneck, lacking domain knowledge and unable to keep up with requests. Data quality suffers because producers are detached from consumers.
Data mesh, introduced by Zhamak Dehghani, is a socio-technical approach with four principles: domain ownership, data as a product, self-serve data platform, and federated computational governance. It treats analytical data like a service with owners and customers.
Each domain, such as orders or payments, exposes one or more data products. A product bundles the data, its schema, quality checks, access policy and metadata.
[Orders domain] --publishes--> orders_daily (product)
[Payments domain] --publishes--> payments_ledger (product)
|
shared platform: storage, catalog, lineage, IAM
|
governance: global ids, PII tags, SLO templates
A product descriptor might declare owner, freshness SLO of one hour, and a contract for columns. The platform validates it at deploy time, registers it in the catalog and grants access via policy. Consumers discover products in the catalog and subscribe without opening tickets.
High - platform build and per-domain pipelines
High - federated governance coordination
High - new organizational model
Domains publish undocumented, unreliable data products
Each domain builds its own tooling, fragmenting the platform
Cross-domain joins fail because identifiers differ