如何在cassandra中获取已排序的日志?

mcvgt66p  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(428)

在我的应用程序中,我们将日志存储在cassandra中。用户可以在给出日志的开始和结束日期后查看日志。我们在这些日期的基础上获取数据,并实现了分页,使得第一页的结束日期成为第二页的开始日期。
表格:

CREATE TABLE audit_trail (
    account_id bigint,
    user_id bigint,
    time timestamp,
    category int,
    ip_address text,
    action_description text,
    additional_data map<text,text>,
    source int,
    source_detail varchar,
    PRIMARY KEY ( (account_id), time )
     ) WITH CLUSTERING ORDER BY (time DESC);

问题:
我们得到的原木不是分类的,而是分散的。例如,在查询第1天到第10天的日志时,我们可能会得到第10天、第8天、第9天、第2天、第1天的日志,或者其他任何顺序的日志。
目标:
按排序顺序获取日志,以便第一天的日志显示在顶部,然后显示第二天的日志,依此类推。
没有数据洗牌。因为,在发生冲突时,表在cassandra中被重新构造,这可能会给出我们在第1页和第2页中已经看到的数据。
数据吞吐量很大,通常在每小时1000个日志左右。

zphenhs4

zphenhs41#

按时间顺序聚类;
在表的末尾加上这个,我就解决了这个问题。

相关问题