Cassandra-按组合键和时间排序

Cassandra-按组合键和时间排序,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,我有这个模式: CREATE TABLE datapoints ( id UUID, collection_id UUID, time TIMESTAMP, PRIMARY KEY ((id), collection_id, time) ) WITH CLUSTERING ORDER BY (collection_id ASC,time ASC); 我希望数据点是按集合id和时间排序的,但是,它似乎在排序中包含了id 以下是一个输出示例: id

我有这个模式:

CREATE TABLE datapoints (
  id UUID,
  collection_id UUID,
  time TIMESTAMP,
  PRIMARY KEY ((id), collection_id, time)
)
WITH CLUSTERING ORDER BY (collection_id ASC,time ASC);
我希望数据点是按集合id和时间排序的,但是,它似乎在排序中包含了id

以下是一个输出示例:

 id                                   | collection_id                        | time
--------------------------------------+--------------------------------------+--------------------------
 08fc3461-4c1c-40ef-a9ba-aeedd454c0b4 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:27:00+0100
 93c32778-52fc-4568-872f-3697799f60a7 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:14:00+0100
 16d7c8df-f5a4-4b59-8f20-e6bd49e576c7 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:04:00+0100
 acbd2a04-64e5-419b-8140-3256f984e3c7 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:13:00+0100
 faadfee0-8968-4f69-885a-9f2b37e444b3 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:28:00+0100
 9d306504-ec00-4138-a9c6-531b3552ad8e | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:49:00+0100
 bedb143f-22a4-4ed7-90e5-ba0c0cecee57 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:20:00+0100
 b8a4eee5-64b3-418a-9cea-84e02a5172c7 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:21:00+0100
 f17beb58-905b-4253-a472-b8726d86bc04 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:05:00+0100
 83fbba8e-b06a-4763-b66b-47ffad907972 | 32c9fdd9-de41-4bb0-9ea6-7a30371df43e | 2013-02-01 00:19:00+0100
正如你所见,它不是按时间排序的。我如何做到这一点,以便在排序时忽略id(我需要一个id,因为我可能需要更新一条记录),并且只按集合id和时间对记录进行排序。也许我误解了什么

提前谢谢


编辑:我可以删除id作为主键,然后为它创建一个索引-这将解决问题。保留id作为主键会很好,不过…

群集列仅在分区键内确定数据在磁盘上的排序顺序。来源:@ZainMalik伟大链接。非常感谢。