【发布时间】:2015-09-29 10:21:51
【问题描述】:
我一直无法理解如何处理一个用例....
我想统计一些项目,并查询数据,这样
counter_value < threshold value
现在在 cassandra 中,无法在计数器上创建索引,这是个问题,是否有一种解决方法建模可以完成类似的事情??
谢谢
【问题讨论】:
我一直无法理解如何处理一个用例....
我想统计一些项目,并查询数据,这样
counter_value < threshold value
现在在 cassandra 中,无法在计数器上创建索引,这是个问题,是否有一种解决方法建模可以完成类似的事情??
谢谢
【问题讨论】:
您已经部分回答了自己的问题,说出了您想查询的内容。因此,让我们先按照稍后查询的方式对数据进行建模。
如果要通过计数器值查询,则不能是计数器类型。因为它不符合查询数据所需的两个条件
计数器是在 Cassandra 中进行快速写入的最有效方式,用于计数器的使用。但不幸的是,由于上述两个限制,它们不能成为 where 子句的一部分。
因此,如果您想使用 Cassandra 解决问题,请在 Cassandra 中将类型更改为 long,使其成为 clustering key 或在该列上创建 index。在任何情况下,这都会减慢您的写入速度并增加更新计数器值的每个操作的延迟,因为您将使用 read-before-write 的反部分。
我建议使用 index。
最后但同样重要的是,我会考虑使用 SQL 数据库来解决这个问题。
【讨论】: