Cassandra-以下查询的最佳表建模?

时间:2020-04-29 18:40:09

标签: cassandra cql

我希望执行以下查询:

SELECT value,occurredAt,venueName FROM Transaction_by_card WHERE card = 1234123412341234

以及每张信用卡的常规信用卡账单,期望有几百种结果。

我正在考虑为表格建模:

(卡int,发生在时间戳记,会场名称文本,值int PRIMARY KEY(卡,时间戳记,发生簇排序的原因发生在desc)

这是我用例的最佳模型吗?

1 个答案:

答案 0 :(得分:4)

请确保您每张卡的总记录应少于100 mb(在Cassandra中为经验法则),但我希望此价格要低得多。

如果您认为结果的大小可以更大,则可以进行基于时间的宣传活动
例如,基于月的存储桶看起来像

(card int, occurredAt timestamp, year int, month int, venueName text, value int PRIMARY KEY ( (card, year, month) timestamp) WITH CLUSTERING ORDER BY occurredAt desc)

month:04和2020年将来自timstampp发生的事件。