cassandra和range查询中的数据库虚拟分区键

2uluyalo  于 2021-06-10  发布在  Cassandra
关注(0)|答案(0)|浏览(184)

我是Cassandra的新手,在我所有的研究中,我发现很难找到一个像样的解决方案。我的最终目标是能够对我的数据进行范围查询,但是对于我要进行的查询类型,我没有一个好的分区键。
假设我有用户、评论和创建它们的时间戳,我想搜索一个范围,就像特定日期之前的所有评论一样。我知道一个集群键的范围查询很容易做,但是我不能让一个分区键成为用户,因为他们会有很多评论,这将导致一些问题,如无限和倾斜的分区。
所以我发现很难找到一个适合的分区键。我发现的一个伪解决方案是伪列。如果我可以:

((users,dummy),comments,timestamp)

作为我的主键,这将有助于我,但这也会导致无限分区。现在我的问题是,如果没有更好的方法来做到这一点,有没有可能计算出我的分区何时达到了我读到的100mb的最大理想大小,并更改虚拟值?
有点像切分,如果我理解的概念正确:我有 ((users,shard1)...) 在我的逻辑中,当我注意到shard1达到了所需的最大容量时,我开始将值放入下一个shard(shard2),以此类推。然后我有一个类似(users,shard)的表,它给出了每个用户拥有的shard数量。
这可能吗?我在Cassandra遇到过这个问题,我正在寻找最好的可行的解决方案,如果真的没有的话。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题