Sorting 如何在Cassandra中获取已排序的日志?
在我的应用程序中,我们将日志存储在Cassandra中。用户可以在给出日志的开始和结束日期后查看日志。我们根据这些日期获取数据,并已实现分页,以便第一页的结束日期成为第二页的开始日期 表:Sorting 如何在Cassandra中获取已排序的日志?,sorting,logging,cassandra,database-performance,database-partitioning,Sorting,Logging,Cassandra,Database Performance,Database Partitioning,在我的应用程序中,我们将日志存储在Cassandra中。用户可以在给出日志的开始和结束日期后查看日志。我们根据这些日期获取数据,并已实现分页,以便第一页的结束日期成为第二页的开始日期 表: CREATE TABLE audit_trail ( account_id bigint, user_id bigint, time timestamp, category int, ip_address text, action_description tex
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);
CREATE TABLE audit\u trail(
帐户id bigint,
用户id bigint,
时间戳,
int类,
ip地址文本,
行动描述文本,
附加数据地图,
源int,
来源(u detail varchar),
主键((帐户id),时间)
)按时间顺序进行聚类(时间描述);
问题:
我们得到的日志不是分类的,而是分散的。例如,在查询第1天到第10天的日志时,我们可能会得到第10天、第8天、第9天、第2天、第1天的日志,或者以任何其他顺序
目标:
在表的末尾添加此项解决了我的问题。什么是数据模型..创建表billing.domain\u事件(日期文本、用户id bigint、域id bigint、类型文本、子类型文本、事件文本、事件计数器、主键((用户id、日期)、域id、类型、子类型、事件))按照(域\ id ASC、类型ASC、子类型ASC、事件ASC)的顺序进行聚类;表结构的理想方案是对每个日期进行单独的查询。您是说我应该根据天数对数据库进行分区吗?如果您能突出显示我需要对数据模型进行的更改,我将非常高兴。