Чтение журнала изменений базы вместо периодических полных выгрузок.
Ключевые тезисы
- Даёт полную историю изменений: важнейшее условие корректности признаков «на момент времени».
- Debezium и аналоги превращают журнал транзакций в поток событий.
- Полная выгрузка теряет промежуточные состояния — по ней невозможно восстановить прошлое.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Как это работает
Читаем журнал транзакций, а не саму таблицу.
База данных уже ведёт журнал всех изменений (WAL в PostgreSQL, binlog в MySQL). CDC-коннектор читает его и превращает в поток событий insert / update / delete — без нагрузки на саму базу тяжёлыми запросами.
- Даёт полную историю: видно каждое промежуточное состояние строки.
- Не пропускает изменения, случившиеся между двумя выгрузками.
- Требует аккуратности со snapshot: первичная выгрузка + продолжение с нужной позиции журнала.
2Медленно меняющиеся измерения
Как хранить историю атрибутов.
| Тип | Что делает | Годится для ML |
|---|---|---|
| SCD 1 | перезаписывает значение | нет — история теряется |
| SCD 2 | новая строка с valid_from / valid_to | да, это стандарт |
| SCD 4 | отдельная таблица истории | да |
Без SCD 2 признак «сегмент клиента» для события годичной давности возьмётся из текущего состояния — это классическая утечка на уровне хранилища.
Связанные темы
Надёжность данных · Признаки в реальном времени
Feature Stores98%
Хранилища признаков · MLOpsЦентрализованное хранилище признаков, единое для обучения и онлайн-инференса.
Data Quality85%
Качество данных · Инженерия данныхАвтоматические проверки, которые ловят поломку источника раньше, чем она попадёт в модель.
Data Contracts85%
Контракты данных · Инженерия данныхЯвная договорённость между источником и потребителем: какие поля, каких типов и с какими гарантиями.
Idempotency & Exactly-once85%
Идемпотентность и гарантии доставки · Инженерия данныхЧто происходит при повторной обработке события и как не задвоить данные.
Data leakage85%
Утечка данных · ДанныеСитуация, когда в обучении присутствует информация, недоступная в момент реального предсказания. Главная причина «слишком хороших» метрик.
Data leakage85%
Утечка данных · Практика MLСамая дорогая ошибка в ML: модель отлично работает офлайн и разваливается в проде.
Data preprocessing85%
Предобработка данных · ДанныеПриведение сырых данных к виду, пригодному для обучения: типы, форматы, дубликаты, согласованность единиц измерения.
Online and Offline Features85%
Онлайн- и офлайн-признаки · Системный дизайн ML-сервисовЧасть признаков считается заранее, часть — в момент запроса. Расхождение между ними — главный источник инцидентов.
Batch and Streaming85%
Батч и стриминг · Инженерия данныхОбработка по расписанию против непрерывной обработки событий. Разные задержки, разные гарантии, разная стоимость.
Feature engineering85%
Конструирование признаков · ДанныеСоздание признаков, в которых закономерность становится линейно отделимой или просто более заметной для модели.
Feature engineering85%
Работа с признаками · Практика MLНа табличных данных грамотные признаки дают больший прирост, чем смена модели.