索引Apache Ignite缓存与优化的内存中CassandraDB



对于复杂的实时Apache Storm拓扑,我需要一些计算步骤的数据聚合(存储在CassandraDB中)。到目前为止,数据在需要时使用CQL(Cassandra查询语言)进行查询,并在Storm bolt中聚合。这有点慢,所以我们希望缓存聚合所需的数据。有两个选项摆在桌面上:

  • 将所需的数据放入索引Ignite Cache中,并从Storm中滑动窗口查询。在这种情况下,我们只需要一个Cache,并根据聚合使用不同的查询
  • 将Cassandras中的数据放入内存、堆外缓存中

Ignite的参数:为了快速访问,我们只需要一个索引缓存,而每个聚合需要一个Cassandra表。(同样是ACID,但显然我们已经使用了CAP,所以对于我们的架构师来说,这不是一个有力的论据。)

卡桑德拉的论据:我们不需要引入新技术。

但是:速度怎么样?索引Ignite缓存与内存中优化的(=每个查询都有自己的表)Cassandra相比有多快?

我相信Ignite中的内存索引SQL将比Cassandra CQL查询更快。Apache Ignite与ANSI-99 SQL兼容,因此您应该能够执行各种聚合、联接、排序依据、分组依据等。

我将在Ignite社区中提出一点,看看Cassandra CQL是否可以与Ignite SQL进行比较。完成后,将在此处发布结果。

最新更新