[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-schema-drift::en":3,"gloss-cluster-schema-drift::en":26,"gloss-next-schema-drift::en":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"schema-drift","data-infra","Schema Drift","Schema drift is the gradual divergence between the structure a consumer expects from a data source and the structure that source actually produces. A column is renamed, a field that was always an integer starts arriving as a string, an optional key stops appearing, a nested object gains a level. None of these are errors at the source — they are ordinary product changes — but each one breaks an assumption encoded somewhere downstream in a pipeline, a dashboard, a warehouse table or a model's feature set. What makes drift distinctive is that it usually does not raise an exception. A pipeline that reads a renamed column often gets nulls rather than a failure, so the job succeeds, the table populates, and the numbers are wrong in a way that looks like a business trend. This is why drift is typically discovered by someone questioning a chart weeks later rather than by an alert, and why the cost is not the fix but the period during which decisions were made on quietly corrupted data. Detection sits at the boundary. The strongest option is to validate the payload against an expected schema at the point of ingestion and fail loudly on violation, which converts a silent data problem into a noisy pipeline problem — much cheaper to notice. Weaker but useful signals include tracking column presence and type distributions over time, alerting on sudden changes in null rate or cardinality, and comparing row counts against expectation. A schema registry addresses the same problem earlier by making the contract explicit and versioned, so a producer's incompatible change is rejected at publish time instead of discovered by a consumer. Drift is fundamentally an organisational problem wearing a technical costume: it happens because the team that owns the source does not know who depends on its shape. Practical note: version schemas explicitly and treat any change as breaking until proven otherwise, and keep raw ingested payloads for a retention window. When drift is found late, the only path to correct history is a backfill, and that is possible only if the original data was kept in its original shape.","Schema drift is the gradual divergence between the shape a data pipeline expects and the shape its source actually produces, usually detected downstream.",null,[11,14,17,20,23],{"slug":12,"name":13},"backfill","Backfill",{"slug":15,"name":16},"change-data-capture","Change Data Capture (CDC)",{"slug":18,"name":19},"data-contract","Data Contract",{"slug":21,"name":22},"data-pipeline","Data Pipeline",{"slug":24,"name":25},"schema-registry","Schema Registry",[27,31,34,37,40,44,47,50,51,54,58,61],{"slug":28,"category":5,"name":29,"updated_at":30},"acid","ACID","2026-08-24T02:46:37+00:00",{"slug":32,"category":5,"name":33,"updated_at":30},"ann-search","ANN Search",{"slug":35,"category":5,"name":36,"updated_at":30},"backpressure","Backpressure",{"slug":38,"category":5,"name":39,"updated_at":30},"batch-processing","Batch Processing",{"slug":41,"category":5,"name":42,"updated_at":43},"bm25","BM25","2026-08-24T02:46:38+00:00",{"slug":45,"category":5,"name":46,"updated_at":30},"cache","Cache",{"slug":48,"category":5,"name":49,"updated_at":30},"cap-theorem","CAP Theorem",{"slug":15,"category":5,"name":16,"updated_at":30},{"slug":52,"category":5,"name":53,"updated_at":30},"chroma","Chroma",{"slug":55,"category":5,"name":56,"updated_at":57},"chunk-overlap","Chunk Overlap","2026-08-24T03:30:02+00:00",{"slug":59,"category":5,"name":60,"updated_at":30},"columnar-storage","Columnar Storage",{"slug":62,"category":5,"name":63,"updated_at":30},"connection-pooling","Connection Pooling"]