Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124


In modern organisations, data moves across teams, tools, and systems faster than ever before. With this speed comes a persistent risk: the moment a producer changes the shape, meaning, or frequency of data without warning, downstream consumers can experience silent failures, broken pipelines, or bad analytics.
Data contracts are emerging as the solution, a formal agreement between data producers and data consumers that defines exactly how data will be structured, delivered, and governed.
A data contract is a specification that documents:
– Schema (structure of the data (columns, data types, constraints))
– Semantics (meaning of fields, business definitions, expected units)
– Quality Guarantees (thresholds for completeness, accuracy, freshness)
– Delivery Guarantees (how and when the data will be made available)
– Change Management (rules for making schema or semantic changes)
It’s like an API contract, but for data. And just like an API contract enforces communication standards between software components, a data contract enforces trust between teams exchanging datasets.
Cultural Adoption — Requires producers and consumers to agree on responsibilities.
Overhead — May feel like “extra paperwork” unless automated.
Versioning Discipline — Must be treated as part of engineering, not an afterthought.
dataContractSpecification: 0.9.3
id: covid_cases
info:
title: COVID-19 cases
version: 0.0.1
description: Johns Hopkins University Consolidated data on COVID-19 cases, sourced
from Enigma
links:
blog: https://aws.amazon.com/blogs/big-data/a-public-data-lake-for-analysis-of-covid-19-data/
data-explorer: https://dj2taa9i652rf.cloudfront.net/
data: https://covid19-lake.s3.us-east-2.amazonaws.com/enigma-jhu/json/part-00000-adec1cd2-96df-4c6b-a5f2-780f092951ba-c000.json
servers:
s3-json:
type: s3
format: json
delimiter: new_line
location: s3://covid19-lake/enigma-jhu/json/*.json
models:
covid_cases:
description: the number of confirmed covid cases reported for a specified region,
with location and county/province/country information.
type: table
fields:
fips:
type: string
required: false
primary: false
unique: false
description: state and county two digits code
admin2:
type: string
required: false
primary: false
unique: false
description: county name
quality:
type: SodaCL
specification:
checks for covid_cases:
- freshness(last_update::datetime) < 5000d
- row_count > 1000In a data mesh architecture, data contracts are a critical enabler of the “data as a product” philosophy. Each domain team produces data products with clear interfaces (contracts) so that other domains can consume them without hidden dependencies or surprises. Data contracts are not about adding bureaucracy, they’re about enabling safe, predictable, and scalable data collaboration.
The analogy to software APIs is intentional: modern data platforms need versioned, testable, enforceable agreements between producers and consumers. Without them, the cost of change grows, pipelines break silently, and trust in data erodes.
You must be logged in to post a comment.