首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cassandra中宽分区和数据倾斜之间有什么区别?

在Cassandra中宽分区和数据倾斜之间有什么区别?
EN

Stack Overflow用户
提问于 2021-07-26 22:04:28
回答 1查看 51关注 0票数 0

正如我所理解的,两者都告诉我们,特定分区中的数据量不应超过其他分区。因此,我们应该选择适当的分区键来弥补这些问题。但这两种成语到底有什么区别呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-27 01:06:33

虽然它们可能出于相同的原因(数据模型和分区键基数),但节点之间的数据不平衡可能由于其他原因而发生。

如果分区键没有足够的选择性,在某些情况下,数据分区的数量会增加,每个分区的最大推荐值为100 Mb,但理想情况下不超过10 Mb。

虽然具有低基数的分区键可能会导致一些倾斜,但您也可以在将令牌分配到环中时得到一个倾斜。与RandomPartitioner相比,RandomPartitioner更习惯于产生不平衡的结果--但即使使用allocate_tokens_for_keyspace / allocate_tokens_for_local_replication_factor,也可以对Murmur进行改进--根据所使用的C*或DSE版本,相同的设置有不同的名称,但其想法是向分区程序提供更多有关预期复制因子的信息,因此它产生了更多的均衡分配。

数据可能不平衡的另一种方式是拓扑选择--如果使用NetworkTopologyStrategy (建议使用的是多个机架)和多个机架创建具有键空间的集群--除非每个机架的节点数相同,否则数据将不平衡。例如(为了演示结果,并不表示您会这样做)。

  • Rack 1=5节点
  • Rack 2=5节点
  • Rack 3=2节点

使用3GB和100 GB的射频数据,每个机架将保存一个副本。机架1和2中的节点大约各为20 in,机架3为50 in(大致)。

这就是为什么在使用机架时,通常的建议是,当每个DC扩展时,节点数量将增加3。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68536805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档