Инженерия данных

Idempotency & Exactly-once

Идемпотентность и гарантии доставки

актуальноТекущий рабочий стандарт

Направления: Инженерия ИИ · Инженерия данных

Что происходит при повторной обработке события и как не задвоить данные.

Ключевые тезисы

  • At-least-once — стандартная гарантия брокеров: дубликаты будут, их нужно уметь схлопывать.
  • Идемпотентная запись по ключу (upsert) превращает at-least-once в фактический .
  • Задвоенные события — частая причина «необъяснимого» роста и утечек в обучении.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

ГарантияЧто бываетЦена
at-most-onceданные теряютсяминимальная
at-least-onceдубликатыстандарт брокеров
ни потерь, ни дублейдороже, часто «эффективно »

На практике достигается сочетанием at-least-once доставки и идемпотентной записи по ключу: повторное событие просто перезаписывает ту же строку.

-- оставляем последнюю версию каждого события
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%

Предобработка данных · Данные

Приведение сырых данных к виду, пригодному для обучения: типы, форматы, дубликаты, согласованность единиц измерения.

Проверить себя

Тема встречается в тестах по направлениям — ошибки приведут обратно на эту страницу.

Тема в работе целиком

Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.

Следующий шагПроверить себя: MLOps и инженерияТема встречается в этом тесте 2 раза. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Инженерия данных» последний раз правилась . Нашли ошибку — напишите.