我正在设计一个基于Kafka的事件源架构,并使用Flink进行流处理。
一个用例是对历史贸易数据的查询(过滤和排序结果),这些数据随着时间的推移已经过了Kafka主题。例如"使用这些属性给我在过去5年中的所有交易,按xx"排序。总交易历史将在1000万左右,每年增加100万。
Flink本身是否适合进行此类历史查询,并且能够以合理的性能(几秒钟)完成此操作?或者我是否更好地将事件从Kafka转移到像MongoDB / RDBMS这样的可索引/可查询的数据存储中,并将其用于历史查询?
做前者感觉它会更加贴近Kappa架构,而诉诸历史数据库感觉就像我从那里回到了Lambda架构。
答案 0 :(得分:0)
Flink非常适合处理来自Kafka主题(或任何其他数据源)的历史数据,因为它支持事件时间处理,即基于记录中的时间戳的基于时间的处理,而不是基于时钟的加工机器(又名处理时间)。
如果您只想执行分析,可能需要查看Flink的SQL支持。