Рано или поздно в компании, у которой есть DWH, возникает потребность считать витрины/отчеты/мониторинг в близком к реальному времени (или быстрее настолько, что текущие системы не справятся). И нужно выбрать подходящую для этого технологию.
Apache Spark Streaming лучше подойдёт, если у вас нет потребности в real time и миллисекундных задержках. Для sub-second-задержек лучше подойдёт Apache Flink. Но не Spark и Flink едиными. Есть, например, Apache Storm, у которого сейчас довольно мало контрибуций, но при этом он всё ещё релизится. Или Apache Samza, о которой есть доклад разработчиков из Одноклассников. Мне кажется, что и её будущее предрешено, учитывая мизерное количество новых коммитов. Можно ещё попробовать Kafka Streams, но тогда управление ресурсами — это уже ваша задача.
А как обстоят дела с решением реальных задач? Кейсы, которые часто решают на стриминговой платформе — объединение (join) двух потоков. Spark и Flink справятся с этой задачей, но сделают это по-разному.
Это и не только обсудим на докладе.