region分裂问题

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
region分裂相关的参数,查看官方文档,如下:

region-max-size

  • Region 容量空间最大值,超过时系统分裂成多个 Region。
  • 默认值:144MB
  • 单位:KB|MB|GB

region-split-size

  • 分裂后新 Region 的大小,此值属于估算值。
  • 默认值:96MB
  • 单位:KB|MB|GB

有如下两个问题:
1、当一个region的大小达到region-max-size以后,就开始分裂,一分为二,分成两个新的region,是这样的吗?

2、如参数描述,当region大小达到144MB以后就分裂,那分成的两个新的region大小都是多大呢?

谢谢。

【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

  • 对应模块日志(包含问题前后1小时日志)
/// When region [a,e) size meets region_max_size, it will be split into
/// several regions [a,b), [b,c), [c,d), [d,e). And the size of [a,b),
/// [b,c), [c,d) will be region_split_size (maybe a little larger).
pub region_max_size: ReadableSize,
pub region_split_size: ReadableSize,

我理解应是分裂后尽量保持新的region size都不超region_split_size

$ ./tikv-ctl --host xxx:20160  region-properties  -r 38561
mvcc.min_ts: 428598129169268738
mvcc.max_ts: 429120426931912718
mvcc.num_rows: 3453931
mvcc.num_puts: 3507023
mvcc.num_deletes: 1951
mvcc.num_versions: 3601574
mvcc.max_row_versions: 38583
num_entries: 4171918
num_deletes: 570344
num_files: 4
sst_files: 013631.sst, 007808.sst, 013633.sst, 013632.sst
middle_key_by_approximate_size: 7480000000000000595f72c80000000004eb88

每个region 有个middle key,根据大小计算出的中间key,便于下次继续split,理论上下次拆分后是均衡的,但不是绝对的。

region-split-size

则表示最终的region大小趋近于这个值,当然也不是绝对的

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。