practice

Data Lineage

A record of where each dataset came from, what transformed it, and what depends on it — traced at table and ideally column level.

governanceprovenanceimpact

Lineage answers three questions that are otherwise answered by asking around, and it is the difference between a warehouse that can be changed and one that cannot.

Impact analysis, forwards. "If I change this column, what breaks?" Without lineage the honest answer is unknown, so nothing is ever changed and the estate accretes.

Root cause, backwards. "This dashboard is wrong — which upstream produced it?" Tracing by hand across a hundred models is hours; with lineage it is a click.

Compliance. Demonstrating where personal data flows, which systems hold derivatives of it, and whether a deletion request has reached all of them.

Column-level lineage is materially more useful than table-level, because table-level says a dashboard depends on a table with two hundred columns and column-level says it depends on three of them — which is what makes a change decision possible.

The critical property is that it must be derived, not documented. Lineage parsed automatically from query logs, dbt manifests or orchestration metadata stays true; lineage maintained by hand is accurate on the day it is written and misleading thereafter, which is worse than none.