Comparison
Schema driftvsUpstream drift
Schema drift
the vendor added three columns and renamed one over the weekend, and nobody told anybody.
The source's structure changing without coordination — added, removed, renamed or retyped fields. It is distinct from planned schema evolution in exactly the way that matters: nobody agreed to it, so no compatibility rule was applied. Handling it means deciding in advance whether unknown fields are absorbed, ignored or fatal, and a pipeline that has never made that decision has made it implicitly by whichever the library defaults to.
Full entry →Upstream drift
the source team changed a status code's meaning, the pipeline kept running, and your funnel report has been wrong since Tuesday.
The producing system changing behaviour — semantics, encoding, defaults, volume — without changing anything your pipeline validates. It is worse than a schema break precisely because nothing fails: the types still match and the numbers are merely wrong. The defences are semantic tests rather than structural ones, and a contract with the producer that says which changes require notice.
Full entry →