Обработка по расписанию против непрерывной обработки событий. Разные задержки, разные гарантии, разная стоимость.
Ключевые тезисы
- Батч проще, дешевле и достаточно для большинства ML-задач.
- Стриминг нужен там, где решение принимается за секунды: антифрод, динамические цены.
- Оконные агрегации в стриминге требуют явной работы с опоздавшими событиями (watermark).
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Что выбрать
Задержка против сложности.
| Требование к задержке | Решение |
|---|---|
| часы | батч по расписанию |
| минуты | микробатч (каждые 5–15 минут) |
| секунды | стриминг |
| миллисекунды | онлайн-расчёт в самом сервисе |
Стриминг дороже в разработке и эксплуатации в разы. Начинайте с батча и переходите к потоку только когда бизнес-требование к задержке доказано, а не предполагается.
2Окна и опоздавшие события
Главная сложность потоковой обработки.
- Event time против processing time: считать нужно по времени события, иначе агрегаты будут неверны.
- Watermark задаёт, сколько ждать опоздавшие события, прежде чем закрыть окно.
- Слишком короткий watermark теряет данные, слишком длинный увеличивает задержку и память состояния.
- Типы окон: тумблинг (непересекающиеся), скользящее, сессионное.
Связанные темы
Платформа данных · Признаки в реальном времени
Online and Offline Features85%
Онлайн- и офлайн-признаки · Системный дизайн ML-сервисовЧасть признаков считается заранее, часть — в момент запроса. Расхождение между ними — главный источник инцидентов.
Feature Stores85%
Хранилища признаков · MLOpsЦентрализованное хранилище признаков, единое для обучения и онлайн-инференса.
Change Data Capture85%
Захват изменений (CDC) · Инженерия данныхЧтение журнала изменений базы вместо периодических полных выгрузок.
Feature engineering85%
Конструирование признаков · ДанныеСоздание признаков, в которых закономерность становится линейно отделимой или просто более заметной для модели.
Feature engineering85%
Работа с признаками · Практика MLНа табличных данных грамотные признаки дают больший прирост, чем смена модели.
Warehouse, Lake, Lakehouse80%
Хранилище, озеро, lakehouse · Инженерия данныхТри способа хранить аналитические данные: строгая схема, сырые файлы или гибрид с транзакциями поверх объектного хранилища.
File Formats80%
Форматы хранения · Инженерия данныхКолоночные форматы против строковых: почему Parquet почти всегда лучше CSV для аналитики.
Partitioning80%
Партиционирование · Инженерия данныхРазделение данных по ключу (обычно по дате), чтобы запрос читал минимум файлов.
Analytical SQL80%
Аналитический SQL · Инженерия данныхОконные функции, агрегации и CTE — основной инструмент подготовки признаков на больших данных.
ETL vs ELT80%
ETL и ELT · Инженерия данныхПреобразовывать данные до загрузки или уже внутри хранилища — и почему индустрия сместилась ко второму.
Orchestration80%
Оркестрация пайплайнов · Инженерия данныхПланировщик, который знает зависимости между задачами, повторяет упавшие и не даёт запускать одно и то же дважды.
Spark80%
Spark · Инженерия данныхРаспределённая обработка больших объёмов данных: тот случай, когда данные не помещаются на одну машину.
Kafka80%
Kafka · Инженерия данныхРаспределённый журнал событий: основа потоковой архитектуры и источник данных для онлайн-признаков.
ML Pipelines80%
ML-пайплайны · MLOpsОформление обучения как воспроизводимой последовательности шагов вместо разрозненных ноутбуков.
Data Versioning80%
Версионирование данных · MLOpsДанные меняются чаще кода — без их версий эксперимент не воспроизвести.