Cassandra 是不是支持条件查询?

Posted

技术标签:

【中文标题】Cassandra 是不是支持条件查询?【英文标题】:Does Cassandra support conditional queries?Cassandra 是否支持条件查询? 【发布时间】:2011-02-04 18:30:20 【问题描述】:

我正在考虑从我当前的 SQL 式解决方案 (simpledb) 切换到 cassandra,主要是因为速度、成本和 cassandra 的内置缓存功能。但是我坚持索引的想法。我已经收集到,在 cassandra 中,您必须手动创建索引才能执行复杂的查询。但是如果你有如下数据,一行有一个简单的超列:

row1 value1="5", value2="7", value3="9"

并且您需要执行动态查询,例如“给我所有在 x 和 y 之间的 value1 和在 z 和 q 之间的 value2 的行,等等。这可能吗?或者如果你有这样的查询,使用它是一个坏主意卡珊德拉?

【问题讨论】:

【参考方案1】:

Cassandra 0.7.x 包含二级索引,可让您进行上述查询。 以下博客文章描述了这个概念: http://www.riptano.com/blog/whats-new-cassandra-07-secondary-indexes

【讨论】:

【参考方案2】:

在 0.7 中引入了二级索引。但是,要使用 indexed_slice_query,您需要至少有一个 equals 表达式。例如,您可以执行 value1 = x 和 value2

See Cassandra API

【讨论】:

以上是关于Cassandra 是不是支持条件查询?的主要内容,如果未能解决你的问题,请参考以下文章

Stargate REST API 是不是支持 Cassandra 批量查询?

Cassandra 学习七 cassandra研究

需要 nosql 数据库进行按位条件查询

SQL里怎么按照一个条件来查询一个数组里所有符合这条件的数据?

oracle 如何查询字段第一位不是字母,条件如何写

带有键条件表达式的 AWS DynamoDB 查询出错:不支持查询键条件