5

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

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

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

Cassandra 的论点:我们不需要引入新技术。

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

4

1 回答 1

0

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

我将在 Ignite 社区提出一个观点,看看 Cassandra CQL 是否可以针对 Ignite SQL 进行基准测试。完成后,将在此处发布结果。

于 2015-11-28T05:18:06.193 回答