С какой частотой должна происходить доставка данных
Что проверяют
Назовёте ли вы число наугад или выведете частоту из требований. Сильный ответ идёт от того, какое решение принимается по этим данным и сколько стоит задержка, а не от моды на потоковую обработку.
Как отвечать
Начните со встречного вопроса: что делают с данными и что случится, если они окажутся старше на час. Отсюда берётся требование к свежести, а из него частота.
Дальше разложите по вариантам:
- раз в сутки: отчётность, финансовые сверки, обучение моделей на истории. Здесь важна не частота, а срок готовности витрины к началу рабочего дня.
- микробатч, от минут до часа: операционные дашборды, мониторинг продаж и конверсии. Дешёвый компромисс, закрывает большинство задач.
- поток, близко к реальному времени: антифрод, рекомендации внутри сессии, алерты. Оправдан там, где решение принимает машина в момент события, а не человек утром.
Обязательно назовите ограничения, которые меняют ответ: поздно приходящие события и пересчёт прошлых партиций, нагрузка на источник и выбор между полной выгрузкой и захватом изменений, стоимость хранилища, идемпотентность загрузки при повторном запуске. Для моделей частота обновления признаков и частота переобучения это разные величины, а расхождение между тем, как признак считается при обучении и в проде, дороже любой задержки.
Заканчивайте мониторингом: отставание загрузки и свежесть таблицы должны быть метриками с порогом, иначе о сломанном пайплайне вы узнаете от бизнеса.
Где спотыкаются
Обещают реальное время по умолчанию. Поток дороже и в разработке, и в поддержке, а потребитель нередко открывает отчёт раз в день и разницы не заметит.
Путают частоту доставки со свежестью данных. Пайплайн может запускаться каждые пять минут и везти вчерашние цифры, если источник закрывает сутки позже.
Забывают про поздние события и правки задним числом. Когда строки прилетают с опозданием, нужен пересчёт окна, а не просто частый запуск, иначе витрина расходится с источником.