我正在设计一个基于Kafka的基于事件源的架构,并使用Flink进行流处理。
一个用例将是查询(过滤和排序结果)历史交易数据,这些数据随着时间的推移通过Kafka主题。例如:“给我在过去5年的所有交易与这些属性,按xx排序”。总贸易历史将在1000万左右,以每年100万的速度增长。
对于这样的历史查询,Flink本身是否是正确的工具,并且能够以合理的性能(几秒钟)做到这一点?或者,我更好地将Kafka中的事件输入到MongoDB/RDBMS等可索引/可查询的数据存储中,并将其用于历史查询?
做前者感觉更符合Kappa架构,而求助于历史数据库感觉像是我从那个回到了Lambda架构。
发布于 2018-05-22 22:27:51
Flink非常适合处理来自Kafka主题(或任何其他数据源)的历史数据,因为它支持事件时间处理,即基于记录中的时间戳的基于时间的处理,而不是基于处理机的时钟(也称为processing-time)。
如果你只想执行分析,你可能想看看Flink的SQL支持。
https://stackoverflow.com/questions/50459213
复制相似问题