我想弄清楚在Cassandra中实现有效的from / to数据过滤的最佳方法是什么。
我需要一个包含记录的表,这些记录仅在特定时间窗口内有效 - 始终定义。每个记录的有效期不得超过3个月。
我想有一个这样的结构(更多的是ofc):
userId bigint, validFrom timestamp(或者可能分为如下列:from_year,from_month等,如果有帮助的话) validTo时间戳(或如上) someCollection set
所有查询都将由userId,validFrom,validTo执行。
我知道在Cassandra中查询的限制(包括PK和群集密钥)但是我可能错过了对CQL中可用内容的一些技巧或巧妙使用。
任何帮助表示赞赏!
答案 0 :(得分:1)
您可以通过validFrom选择,但可以通过validTo TTL调整数据,以确保您在应用中需要过滤的记录数量不会太大。但是,根据每个用户的记录数量,这可能会导致很多墓碑。