← Professional Data Engineer: pipelines and data decisions
02 / 8 · 35 MIN

Quality, migration, and cutover

Build quality gates and validate final state before cutover.

Concept and mechanism

A migration does not end when copying stops emitting errors. The destination must be shown to represent intended state with meaning and authorization preserved. Equal row counts can hide duplication of some keys and loss of others. Define key-level reconciliation, totals by segment, and business-relevant boundary cases. Dataform can express quality rules as assertions. A custom assertion returns rows violating the rule; zero violations is the expected result. A query executing successfully does not mean the assertion passed. Validation must also be connected to the publication graph.

Guided application

In a fictional case, B depends on A but not on A’s assertions. B can run despite failed validation. Configure explicit dependencies on relevant assertions or suitable dependent-assertion options, and inspect the compiled graph. In a custom Datastream-to-Cloud-Storage consumer, arrival order does not necessarily represent source order. Use appropriate metadata and deduplication to prevent an old change replacing recent state. The managed BigQuery destination has its own merge behavior and should not be confused with that consumer. Before cutover, define criteria, decision authority, writes during transition, and rehearsed rollback. A nearby deadline does not turn unknown discrepancies into acceptance.

IN PRACTICE

80,000 rows on both sides do not prove account amounts match.

Common pitfalls

Count as equivalence; assertion as automatic gate; arrival as ordering; rollback without write handling.

Related topics: Design, governance, and identity · Streaming, time, and effects · Ingestion, publication, and CI/CD

Take this idea with you

Promote a reconciled version through a demonstrable gate.

Create account

Reference: Dataform dependencies and dependent assertions · Current linked standard guide (document title v4.2); edition date unconfirmed (2026-09-30 inspection)