对于一个复杂的实时Apache Storm拓扑结构,我需要对存储在CassandraDB中的数据进行聚合以供某些计算步骤使用。目前的做法是在需要时使用CQL(Cassandra查询语言)查询数据并在Storm bolt中进行聚合。这有点慢,因此我们希望将需要聚合的数据缓存起来。现在有两个选择:
但是,速度如何呢?与为每个查询优化(即为每个查询创建自己的表)的内存中的Cassandra相比,带有索引的Ignite缓存速度会更快吗?
- 将所需数据放入一个带索引的Ignite Cache中,并从Storm中进行滑动窗口查询。在这种情况下,我们只需要一个Cache,并使用不同的查询,具体取决于聚合需求。
- 将数据放入Cassandra的内存外缓存中。
但是,速度如何呢?与为每个查询优化(即为每个查询创建自己的表)的内存中的Cassandra相比,带有索引的Ignite缓存速度会更快吗?