Region为什么要设置最大大小为96M

不断实践

官方不断优化哦,最终定的96M

region到了一定大小,就要分裂。96m就是这个临界值。

谢谢大佬!

96m是官方优化的结果。

实践结果

官方不断实践的结果哦。

默认的,最佳实践

默认参数,官方优化

region到了96m会自动分裂的。

推荐值,视频中说最好别修改,不然对性能可能有一定的影响

共同学习

region到了96m,再增加数据会自动分裂的。

一般情况下,region小于10M会合并,region大于144M会分裂。

的确,大于96m会自动分裂,无需手工创建。

多年官方优化参数的结果。

实践结果

region到了96m自动分裂,是官方优化参数的结果。

都是不断优化的结果,虽然这个参数可以修改,但建议还是保留96m默认值。

region是一个逻辑的概念,实际在存储层还是体现为sst file。
region的划定,我个人在使用中,理解主要是出于调度、监测的考虑。当数据不断在写入的过程中,region中的数据量在不停的增长,通过split会将过大的region进行切分,然后将某一store上过多的region进行rebalance。若region过大则rebalance过程中对网络、内存等的消耗都会很高。同样对于region merge也是类似的情况。因此定义适合的region size是有很大必要的。另外在监测region的健康性时,会需要每个region向PD汇报心跳,若将region size设置的过小,存储相同的数据,则region数量会更多,PD处理心跳响应的压力也会很大。因此region size定位为96MB,应该是一个官方给出的相对比较合理的推荐值。我们在实际生产使用中,没有调整过这个建议值。
另外,我们在实际生产使用中,发现每个store中的region count也不能放置的过多,否则PD的cpu使用会高的超出您的想象。在7.5的版本推出了partitioned raft kv就是为了解决这种问题,或者说是解决这个问题是partitioned raft kv推出的其中一个原因。但遗憾的是到现在的8.1 LTS版本都还是实验特性,只能期待后续版本能GA该特性,我们才有希望在生产环境使用此功能。