Tech_Interview_Prep

Schema Evolution & Versioning

Changing a shared schema without breaking every downstream consumer that depends on it.

What it is

Schema evolution is the discipline of changing a data schema over time — adding fields, changing types, deprecating columns — without breaking the many downstream consumers (dashboards, pipelines, ML features) built against it.

Key points

  • Backward-compatible changes (adding a new nullable column) are usually safe; breaking changes (renaming or removing a column, changing a type) require coordinated migration across every consumer.
  • Schema registries (common in streaming systems) enforce compatibility rules at write time, rejecting a schema change that would break existing consumers before it ships.
  • Versioned schemas: publishing a new schema version alongside the old one for a deprecation window gives consumers time to migrate instead of breaking on a single cutover date.
  • The organizational cost of a breaking schema change usually exceeds the technical cost — this is why schema changes to widely-used tables typically go through a governance review, not just a code review.