事件用例的Cassandra时间序列建模

时间:2014-09-17 12:50:27

标签: cassandra hbase time-series distributed-system nosql

我正在尝试用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等等。我可以在列上使用Slice查询,并在后续调用中继续传递偏移量(类似于分页)。现在,我看到的问题是,因为每行包含一小时的数据,对于一些客户来说,行可能非常宽,而对于某些行则可能是瘦的。现在,如果t1到t2之间的时差是一周。我该怎么办?此外,每个客户每小时都没有数据,所以会有漏洞吗? 最糟糕的情况是假设每小时只有一个活动,我最终会拨打100个电话。

如何在Cassandra中最佳地处理上述用例?

0 个答案:

没有答案