我试图用c*来模拟我的时间序列事件。然而,由于我拥有的用例,我不能完全确定模型是否是最有效的。
CREATE TABLE events_by_hour (
event_time timestamp,
date_hour text,
customer_id text,
PRIMARY KEY ((customer_id,date_hour),event_time)
); // I dont want to keep data older then 2 weeks m so every column will have a ttl of 2 weeks+delta
此外,由于下面的用例,还将有另一个列族来跟踪行键:
CREATE TABLE customer_rowKeys (
date_hour text,
customer_id text,
PRIMARY KEY (customer_id)
); // This column family will also have a ttl of 2 weeks
我的用例是我想要从时间t1到t2的事件,但是一次只有100个。在下一次通话中,我希望随后的100次,以此类推。我可以对列使用切片查询,并在后续调用中不断传递偏移量(类似分页)。现在,我看到的问题是,因为每行包含一小时的数据,对于一些客户来说,行可能非常宽,而对于一些客户来说,行可能很窄。如果t1到t2之间的时差是一周。我该怎么办。而且,每个客户不会每小时都有数据,所以会有漏洞吗?最坏的情况是假设每小时只有一个事件,我最终会打100个电话。
如何在cassandra中优化处理上述用例?
暂无答案!
目前还没有任何答案,快来回答吧!