使用复合键的各个组件对Cassandra进行排序

时间:2014-01-23 13:05:11

标签: nosql cassandra composite-key hector

我想在Cassandra列族(宽行)中存储用户列表。

CF中的列将具有模式 id的复合键:updated_time:name:得分

插入所有用户后,我需要每次以不同的排序顺序查询用户。

例如,如果我指定 updated_time ,我就可以获取最近的10位用户。

而且,如果我指定得分,那么我可以根据得分获取前10名用户。 Cassandra是否支持这个?

请在这方面帮助我...

1 个答案:

答案 0 :(得分:2)

  

我需要每次以不同的排序顺序查询用户...   Cassandra是否支持此

没有。与RDBMS不同,您不能进行任意查询并期望合理的性能。相反,您必须design you data model so the queries you anticipate will be made will be efficient

  

为Cassandra进行数据建模的最佳方法是从查询开始,然后从那里开始向后工作。考虑应用程序需要执行的操作,您希望如何访问数据,然后设计列系列以支持这些访问模式。

因此,您可能需要多个列之间的交叉引用,而不是为您的数据设置一个列族(表)。也就是说,您可能必须对数据进行非规范化。