timlid.ru | блог про Data Engineering Заметки, инструменты и кейсы из реальной работы

Инкрементальные загрузки: почему «забираем только новое» часто ломает данные

Инкремент, CDC и late arriving data Опубликовано: 25.01.2026 16:43 #17

Инкремент кажется простым до тех пор, пока вы не сталкиваетесь с реальностью источников. Поле updated_at может обновляться массово, события могут приезжать с задержкой, а один и тот же объект может приходить повторно. Если инкремент построен на слишком наивном правиле, вы либо теряете часть данных, либо получаете дубли, и оба варианта долго остаются незаметными.

Надёжный инкремент обычно строится вокруг контрольной точки и небольшого окна догрузки. Система должна понимать, до какого момента она точно обработала данные, и иметь механизм безопасного повторного захвата последних часов или дней. Дальше ключевую роль играет merge по стабильному ключу, чтобы пересечения не превращались в дубль. Такой подход делает инкремент предсказуемым и защищает витрины от “тихих” ошибок.