cassandra-下面查询的最佳表建模?

9gm1akwq  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(616)

我希望执行以下查询: SELECT value,occurredAt,venueName FROM Transaction_by_card WHERE card = 1234123412341234 并且期望每张卡有几百个结果,就像你的普通信用卡账单一样。
我想把table做成这样:
(card int,occurredat timestamp,venuename text,value int主键(card,timestamp),按occurredat desc的聚类顺序)
对于我的用例来说,这是最好的模型吗?

v1l68za4

v1l68za41#

好吧,只要确保你的每张卡的总记录应该少于100MB(Cassandra的拇指法则),但我更希望比这个值低得多。
如果你认为你的结果可以更大,你可以做基于时间的狂欢
例如,基于月份的bucket看起来像

(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 and 2020年将从timstampp事件中得出。

相关问题