聚类键排序

clustering key ordered by

在 Cassandra 中,如果我有下面的 table 来存储学生的分数。分区键是 class_uuid,分数是聚类键。抛开潜在的热点问题,宽行是将所有学生存储在class中,按分数DESC排序。

CREATE TABLE class_students(
  class_uuid uuid,
  score double,
  student_uuid uuid,
  PRIMARY KEY (class_uuid,score,student_uuid)
)
WITH CLUSTERING ORDER BY (score DESC);
;

我的问题是当有两个分数相同的同学时,cassandra是如何排序保存的?

一想就知道应用的聚类排序是同一个分区键。在您的示例中,学生将按相同的 class_uuid 的分数降序排列。因此,在不同 class 中得分相同的两个学生将以不同的顺序排列。

但是,如果两个学生在同一个class中的分数相同,则顺序为插入顺序。