Data Mesh Governance / Policies / Definitions

Data Contract

Category: Definitions
Status: Proposed

Context

What do we mean when we say a data contract?

Decision

A data contract is a formal agreement between two parties (data product provider and data product consumer). It specifies the guarantees about a provided data set and expectations concerning data product access.

It covers:

Example

Name Value
Data Product Provider Domain Team: Checkout
Data Product: Webshop Orders
Data Product Owner: Nicky Cree (nicky.cree@example.com)
Output Port: bigquery_orders_latest_npii_v1
Data Product Consumer Domain Team: Controlling
Responsible contact: Aubrey Harlow (aubrey.harlow@example.com)
Purpose Build a demand forecasting model
Schema https://example.com/checkout/webshop-orders/bigquery_orders_latest_npii_v1/schema.yaml
Service-level objectives Interval of change: Continuous streaming
Latency: < 60 seconds
Completeness: All orders since 2020-01-01T00:00:00Z
Freshness: Near real time, max. 60 seconds delay
Availability: 99.9%
Performance: Query all orders of last 12 months < 30 seconds
Data volume: 5,000-10,000 orders per day expected, ~50 KiB / order
Terms Max queries per minute: 10
Max data processing per day: 1 TiB
Pub/Sub subscriptions
Security IAM service-account: serviceAccount:controlling-data-consumer@example-prod-data.iam.gserviceaccount.com
Costs and Billing Implementation and operational costs are covered by the checkout domain until 2023-12-31.
Start date 2023-04-01
End date  
Notice Period 3 months
Next reassessment date 2024-04-01

Consequences

Automation