Apache Flink应该用于历史查询

时间:2018-05-22 03:08:03

标签: apache-kafka apache-flink event-sourcing

我正在设计一个基于Kafka的事件源架构,并使用Flink进行流处理。

一个用例是对历史贸易数据的查询(过滤和排序结果),这些数据随着时间的推移已经过了Kafka主题。例如"使用这些属性给我在过去5年中的所有交易,按xx"排序。总交易历史将在1000万左右,每年增加100万。

Flink本身是否适合进行此类历史查询,并且能够以合理的性能(几秒钟)完成此操作?或者我是否更好地将事件从Kafka转移到像MongoDB / RDBMS这样的可索引/可查询的数据存储中,并将其用于历史查询?

做前者感觉它会更加贴近Kappa架构,而诉诸历史数据库感觉就像我从那里回到了Lambda架构。

1 个答案:

答案 0 :(得分:0)

Flink非常适合处理来自Kafka主题(或任何其他数据源)的历史数据,因为它支持事件时间处理,即基于记录中的时间戳的基于时间的处理,而不是基于时钟的加工机器(又名处理时间)。

如果您只想执行分析,可能需要查看Flink的SQL支持。