我有一个业务需求,我需要有 12 小时的窗口,并且需要查询流数据。12 小时内大约有 1 亿条记录。我还需要维护所有事件的顺序。我使用 Streams API 构建了一个系统来执行此操作。音量似乎不是问题。真正的问题是企业想要搜索事件和状态商店,几乎每个状态商店。搜索不是基于键,而是基于值中的某些字段。
我尝试了 KSQL 服务器并尝试使用 25M 记录的数据集运行简单查询,并且在 8 小时的窗口内运行查询需要将近 240 秒才能完成搜索。(现在我使用的是单个节点和单个分区。)
我正在考虑的另一种方法是将 Elastic Search 连接到流和状态存储,然后对它们运行查询,但我不确定存储每个状态存储的数据是否是一个好的解决方案。
我只是想从社区那里得到意见,什么是查询具有这种容量和低响应时间要求的流的最佳方法。
我还是 Kafka 的新手,期待建议和指导。