我正在设计一个基于kafka的事件源架构,并使用flink进行流处理。
一个用例是查询(过滤和排序结果)历史贸易数据,这些数据在一段时间内通过kafka主题。e、 g.“给我过去5年所有具有这些属性的交易,按xx排序”。总贸易历史将在1000万左右,每年增加100万左右。
flink本身是否是这种历史查询的正确工具,并且能够以合理的性能(几秒钟)完成这项工作?或者我最好将kafka中的事件输入到mongodb/rdbms之类的可索引/可查询的数据存储中,并将其用于历史查询?
做前者感觉它将更紧密地依附于一个kappa架构,而诉诸于一个历史的db感觉我正在从那移回到lambda架构。
1条答案
按热度按时间qc6wkl3g1#
flink非常适合处理来自kafka主题(或任何其他数据源)的历史数据,因为它支持事件时间处理,即基于记录中的时间戳而不是基于处理机器的时钟(又称处理时间)的基于时间的处理。
如果您只想执行分析,您可能想看看flink的sql支持。