Что происходит при повторной обработке события и как не задвоить данные.
Ключевые тезисы
- At-least-once — стандартная гарантия брокеров: дубликаты будут, их нужно уметь схлопывать.
- Идемпотентная запись по ключу (upsert) превращает at-least-once в фактический exactly-once.
- Задвоенные события — частая причина «необъяснимого» роста признаков и утечек в обучении.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Гарантии доставки
Три уровня и что они значат на практике.
| Гарантия | Что бывает | Цена |
|---|---|---|
| at-most-once | данные теряются | минимальная задержка |
| at-least-once | дубликаты | стандарт брокеров |
| exactly-once | ни потерь, ни дублей | дороже, часто «эффективно exactly-once» |
На практике exactly-once достигается сочетанием at-least-once доставки и идемпотентной записи по ключу: повторное событие просто перезаписывает ту же строку.
2Дедупликация
Как схлопывать повторы.
-- оставляем последнюю версию каждого события
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY ingested_at DESC) AS rn
FROM raw_events
) WHERE rn = 1Дубликаты особенно опасны для ML: они меняют веса объектов при обучении и могут попасть одновременно в train и test, создавая утечку.
Связанные темы
Надёжность данных
Data Quality85%
Качество данных · Инженерия данныхАвтоматические проверки, которые ловят поломку источника раньше, чем она попадёт в модель.
Data Contracts85%
Контракты данных · Инженерия данныхЯвная договорённость между источником и потребителем: какие поля, каких типов и с какими гарантиями.
Change Data Capture85%
Захват изменений (CDC) · Инженерия данныхЧтение журнала изменений базы вместо периодических полных выгрузок.
Feature Stores85%
Хранилища признаков · MLOpsЦентрализованное хранилище признаков, единое для обучения и онлайн-инференса.
Data leakage85%
Утечка данных · ДанныеСитуация, когда в обучении присутствует информация, недоступная в момент реального предсказания. Главная причина «слишком хороших» метрик.
Data leakage85%
Утечка данных · Практика MLСамая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.
Data preprocessing85%
Предобработка данных · ДанныеПриведение сырых данных к виду, пригодному для обучения: типы, форматы, дубликаты, согласованность единиц измерения.