Impact analysis and deprecation
How do you find what breaks and who still uses an asset, when lineage alone cannot say?
Lineage has no value as a graph. It has value as an answer to two questions:
- What breaks if I change this? This needs downstream traversal plus ranking, because unranked traversal returns the whole warehouse.
- Who still uses this? Lineage cannot answer this. Lineage describes declared structure; usage is behaviour. This question belongs to telemetry (usage logs).
Failing to separate these two is why deprecation programs stall: teams query the dependency graph, find 3,000 edges, and give up.
The workable pattern is a pipeline:
- Lineage narrows the candidate set structurally (3,000 assets reduced to those that truly consume the table).
- Telemetry ranks the candidates by actual reads (who read it recently, how often).
- A mandatory denial channel confirms the long tail (revoke access, log who is refused).