在 Cassandra 中共享大分区键:如何保持固定的分片大小?

问题描述 投票:0回答:1

我阅读了这篇文章关于如何处理大分区和分区热点,他们的解决方案是添加分片键作为分区键的一部分,并将分片大小保持在固定大小,比如1000。分片大小甚至有助于分页。

但我的问题是,我们如何保持固定的分片大小?据我了解,解决热点问题的常见做法是在分区键上添加分片键(例如

random_number % n
)来分割热点,但并不能保证限制分片大小,不知道他们的做法是如何实现的。

cassandra partitioning sharding
1个回答
0
投票

这篇文章详细介绍了解决分片问题的多种方法 - 第一种只有多个分片,但无法跟踪为给定分区存储了多少分片。

第二个解决方案添加了一个静态计数列,它提供了该信息,但在插入分片时会违反先读后写和竞争条件,尤其是在并行插入数据时。但是,如果您解决了这个问题,并且知道行的大小相对静态,那么您可以使用计数器来控制大小(大约)。如果大小差异很大,这充其量只是粗略的猜测。

第三个解决方案与您的%n相同 - 假设存在固定数量的分片或“桶”。

我会通过计算您期望每个分区包含的内容来开始这个过程,并从那里开始工作,而不是过早地优化。

© www.soinside.com 2019 - 2024. All rights reserved.