我正在考虑从我当前的SQL-esque解决方案(simpledb)切换到cassandra,主要是因为速度,成本和cassandra的内置缓存功能。但是我坚持索引的想法。我已经在cassandra中收集了你必须手动创建索引才能执行复杂的查询。但是,如果你有如下数据,一行有一个简单的超级列:
row1 {value1 =“5”,value2 =“7”,value3 =“9”}
你需要执行动态查询,例如“给我所有的行,其中x和y之间的值为1,z和q之间的值为2,等等。这可能吗?或者如果您有这样的查询,那么使用它是一个坏主意卡桑德拉?
答案 0 :(得分:5)
Cassandra 0.7.x包含二级索引,可让您进行上述查询。 以下博客文章描述了这个概念: http://www.riptano.com/blog/whats-new-cassandra-07-secondary-indexes
答案 1 :(得分:2)
二级指数在0.7中引入。但是,要使用indexed_slice_query,您需要至少有一个equals表达式。例如,您可以执行value1 = x和value2< y,但不是两个范围查询。