[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-data-contract::ru":3,"gloss-cluster-data-contract::ru":23,"gloss-next-data-contract::ru":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"data-contract","data-infra","Контракт данных (data contract)","Контракт данных — это явное и принудительно проверяемое соглашение между поставщиком данных и их потребителями о форме и смысле данных: имена полей, типы, допустимые значения, гарантии свежести и что считается ломающим изменением. Он относится к набору данных или потоку событий как к API — с версионируемой схемой и обещанием не ломать её молча.\n\nОн решает проблему хрупких пайплайнов. Во многих компаниях инженер переименовывает столбец в базе приложения, и вниз по потоку тихо ломаются три дашборда и модель оттока — потому что никто не знал об этой зависимости. Контракт делает такие ожидания явными и тестируемыми, так что ломающее изменение ловится в CI, а не в боевых отчётах.\n\nДля SaaS-разработчиков контракты важны, как только аналитика и ML начинают зависеть от данных продукта. На практике: держите контракты лёгкими и проверяйте автоматически — валидируйте схемы на границе пайплайна, версионируйте их и падайте сразу при нарушении. Начните с самых ценных потоков данных, а не пытайтесь законтрактовать всё разом.","Контракт данных — принудительное соглашение об именах полей, типах, допустимых значениях, свежести и о том, что считать ломающим: набор данных как API.",null,[11,14,17,20],{"slug":12,"name":13},"data-catalog","Каталог данных",{"slug":15,"name":16},"data-lineage","Происхождение данных (lineage)",{"slug":18,"name":19},"dead-letter-queue","Очередь недоставленных сообщений (DLQ)",{"slug":21,"name":22},"schema-registry","Реестр схем (schema registry)",[24,28,31,34,37,41,44,47,50,53,57,60],{"slug":25,"category":5,"name":26,"updated_at":27},"acid","ACID","2026-08-24T02:46:37+00:00",{"slug":29,"category":5,"name":30,"updated_at":27},"ann-search","ANN-поиск (приближённый поиск ближайших соседей)",{"slug":32,"category":5,"name":33,"updated_at":27},"backpressure","Обратное давление (backpressure)",{"slug":35,"category":5,"name":36,"updated_at":27},"batch-processing","Пакетная обработка (Batch Processing)",{"slug":38,"category":5,"name":39,"updated_at":40},"bm25","BM25","2026-08-24T02:46:38+00:00",{"slug":42,"category":5,"name":43,"updated_at":27},"cache","Кэш (Cache)",{"slug":45,"category":5,"name":46,"updated_at":27},"cap-theorem","Теорема CAP (CAP theorem)",{"slug":48,"category":5,"name":49,"updated_at":27},"change-data-capture","Захват изменений данных (CDC)",{"slug":51,"category":5,"name":52,"updated_at":27},"chroma","Chroma",{"slug":54,"category":5,"name":55,"updated_at":56},"chunk-overlap","Перекрытие фрагментов","2026-08-24T03:30:02+00:00",{"slug":58,"category":5,"name":59,"updated_at":27},"columnar-storage","Колоночное хранение",{"slug":61,"category":5,"name":62,"updated_at":27},"connection-pooling","Пулинг соединений (Connection Pooling)"]