Data Contract

A data contract states what a producer supplies and what consumers may rely on. It covers meaning as well as structure: one row per order, a stable order identifier, an amount in the named currency’s minor units, and the time basis for each date. A list of column types cannot express all of those promises.

Name the producer and responsible owner, expected freshness, accepted updates and deletions, quality checks, and the response when a check fails. A daily total also needs a defined population: a timely file can still omit orders. State which checks block publication and which produce a visible warning.

Version the contract and identify affected consumers before a change. Adding a nullable column may preserve named-column queries but break a positional export. Changing the meaning of paid revenue can break a consumer without changing any column. Test actual readers and agree migration and notification steps.

A contract document is not enforcement. Producers need checks and operating procedures that implement it, and consumers need a way to detect violations. The Open Data Contract Standard provides a structured representation; adopting a representation does not by itself prove that delivered data satisfies it.

Reference: Open Data Contract Standard. See Designing End-to-End Data Architecture for the worked example.


Discover more from Insightful Data Lab

Subscribe to get the latest posts sent to your email.

Similar Posts

Questions, corrections, or additional insights?

This site uses Akismet to reduce spam. Learn how your comment data is processed.