Cassandra:比较统计数据的有效方法?

时间:2018-07-02 08:04:43

标签: database cassandra

我想按今天和昨天之间的小时数比较统计数据。 我的结构看起来像这样

CREATE TABLE stats0( id UUID,hour_0 INT, hour_1 INT,[all hours], hour_23 INT,total BIGINT, PRIMARY KEY (id));

CREATE TABLE stats1( id UUID,hour_0 INT, hour_1 INT,[all hours], hour_23 INT,total BIGINT, PRIMARY KEY (id));

CREATE TABLE today( id UUID, today INT, PRIMARY KEY(id))

这是示例。

第1天:

  • 今天设置为0。
  • 统计数据加载到表stats0

第二天:

  • 今天设置为1。
  • 今天的统计数据载入stats1并与stats0比较

第3天:

  • 截断统计数据0
  • 今天设置为0。
  • 今天的统计数据载入stats0并与stats1比较

第四天:

  • 截断统计数据1
  • 今天设置为1。
  • 今天的统计数据载入stats1并与stats0比较

并继续这样。 我比较一天中stats0和stats1的小时数。

有没有办法更有效地做到这一点?

1 个答案:

答案 0 :(得分:0)

@nasubik为避免每天重命名表格(这在这里效率低下),您可以创建一个结构,其中日期在表格中,如下所示:

创建表统计信息(id UUID,日期,hour_0 INT,hour_1 INT,[所有小时数],hour_23 INT,总BIGINT,PRIMARY KEY(id));

我也会对此进行测试;这会使表横摆,而性能将取决于您如何将数据加载到表中:

CREATE TABLE stats(id UUID,date,hour(0-23)INT,the_stat_value INT,PRIMARY KEY(id));