Cassandra:如何对数据进行建模,以便计算时间范围的百分比变化?



我有非常大量的数据,我计划将它们存储在Cassandra中。我是Cassandra的新手,正在尝试找到一个适合我的数据模型。

我的数据是在不规则时间间隔内收集的商品的各种参数:

commodity_id | timestamp    | param1 | param2 
c1           | '2018-01-01' | 5      | 15
c1           | '2018-01-03' | 7      | 15
c1           | '2018-01-08' | 8      | 10
c2           | '2018-01-01' | 100    | 13
c2           | '2018-01-02' | 140    | 13
c2           | '2018-01-05' | 130    | 13
c2           | '2018-01-06' | 150    | 13

我需要查询数据库,并通过参数中的"百分比变化"获取商品 ID。

例如,找出在"2018-01-02"和"2018-01-06"之间参数2增加超过50%的所有商品

CREATE TABLE "commodity" (
commodity_id text,
timestamp date,
param1 int,
param2 int,
PRIMARY KEY (commodity_id, timestamp)
)

你应该对这张表没问题。你可以期待商品分区的 daysPerYear 条目,它相当小,因此你不需要任何人工键。即使你有大量的商品,你也不会用完分区,因为 murmur3 分区器实际上的范围是 -2^63 到 +2^63-1。这是 18,446,744,073,709,551,616 个可能的值。

我会从 cassandra 中提取数据并计算应用程序层中的值。

最新更新