【问题标题】:Sorts on multiple columns in Cassandra在 Cassandra 中对多列进行排序
【发布时间】:2014-05-13 13:05:07
【问题描述】:

我有以下场景。

数据库中有 200 个条目需要按日期和排名进行排序。 在前端,我显示了 2 个列表,每个列表用于日期和排名。

那么处理这个问题的最佳方法是什么。我有 3 个选择:

1) 运行选择查询来获取所有数据并在后端对其进行排序并在前端显示它们。

2) 在前端的浏览器中运行选择查询并对其进行排序。

3) 让 Cassandra 按等级或日期排序。我们如何做到这一点? 问题是 CQL 3.1.1 不支持 ORDER BY 二级索引。

例如,如果主键是 (row_id,date) 并且我想按日期排序,那么查询将如下所示,但不能按等级排序。

select * from reviews where row_id='123' order by date desc; 

如果主键是(row_id, rank),则不能按日期排序。组合主键(row_id、date、rank)不适用于按排名排序。 看起来我们可以按日期或排名排序。

那么是最好的选择 1、2 还是做 3 的不同方法?

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    如果它只有 200 个项目,我会在 Cassandra 中存储两次。每种排序一次。或者以一种顺序存储它,然后在客户端中使用另一种顺序。前端还是后端的排序取决于您。我可能会在后端对它们进行排序,因此我可以选择在存储两次和存储一次+后端排序之间切换,而无需更改客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 1970-01-01
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多