我想在Cassandra列族(宽行)中存储用户列表。
CF中的列将具有模式 id的复合键:updated_time:name:得分
插入所有用户后,我需要每次以不同的排序顺序查询用户。
例如,如果我指定 updated_time ,我就可以获取最近的10位用户。
而且,如果我指定得分,那么我可以根据得分获取前10名用户。 Cassandra是否支持这个?
请在这方面帮助我...
答案 0 :(得分:2)
我需要每次以不同的排序顺序查询用户... Cassandra是否支持此
没有。与RDBMS不同,您不能进行任意查询并期望合理的性能。相反,您必须design you data model so the queries you anticipate will be made will be efficient:
为Cassandra进行数据建模的最佳方法是从查询开始,然后从那里开始向后工作。考虑应用程序需要执行的操作,您希望如何访问数据,然后设计列系列以支持这些访问模式。
因此,您可能需要多个列之间的交叉引用,而不是为您的数据设置一个列族(表)。也就是说,您可能必须对数据进行非规范化。