cassandra中跨节点排序行

cassandra中跨节点排序行,cassandra,cql,Cassandra,Cql,我有一张桌子: CREATE TABLE sessions ( session_id timeuuid, app_id text, PRIMARY KEY (session_id, app_id) ) 为了在节点之间实现良好的数据分布,我需要将分区键设置为会话id,因为我预计会有数百万这样的会话 在尝试获取属于特定会话ID数组的会话时,如何让DESC排序的行?大概是这样的: this.cassandraClient .query()

我有一张桌子:

CREATE TABLE sessions (
    session_id timeuuid,
    app_id text,
    PRIMARY KEY (session_id, app_id)
) 
为了在节点之间实现良好的数据分布,我需要将分区键设置为会话id,因为我预计会有数百万这样的会话

在尝试获取属于特定会话ID数组的会话时,如何让DESC排序的行?大概是这样的:

this.cassandraClient
            .query()
            .select("*")
            .from("sessions")
            .where("session_id", "in", instancesIds)

你不能直接用卡桑德拉和这个桌子设计。ASC/DESC仅在同一分区内工作,而不是在多个分区之间工作。您需要在客户端内部执行排序。

我希望有一个分页设计,在到达客户端之前需要进行一些排序。此外,在后端获取所有条目并返回手动排序的项目不是一个选项。我只能建议将会话放入存储桶中,使用日期全天作为分区键,会话id作为群集键-这将按顺序返回存储桶中的数据,但在查询多个存储桶/天时不会