tidb组件之split-table参数

【 TiDB 使用环境】测试环境
【 TiDB 版本】v5.0
【遇到的问题】
关于merge region操作,之前的看了好几篇社区的文章,都是谈论的pd,tikv组件的参数调整后,空region进行了合并。
今天看tidb组件默认配置参数,留意到split-table参数。

====================================================
tidb组件参数
split-table
为每个 table 建立单独的 Region。
默认值:true
如果需要创建大量的表,建议将此参数设置为 false。

pd组件参数
enable-cross-table-merge
设置是否开启跨表 merge。
默认值:true

tikv组件参数
split-region-on-table
开启按 table 分裂 Region的开关,建议仅在 TiDB 模式下使用。
默认值:false

这三个参数的”默认值“,放到一起有些迷惑了。哪位小伙伴可以帮忙解惑?

可以再补充一下迷惑的点是什么 ?他们之间的关系是怎么样的?具体看场景哈,如果的确都是小表,且空 region 比较多,那么可以开启这三个参数,来整理 region ,减少 region 数量可以减少对 CPU 负载消耗。可以把你理解补充到帖子里面,这样大家可以交流一下。

1、split-table

为每个 table 建立单独的 Region。
默认值:true
如果需要创建大量的表,建议将此参数设置为 false。

针对创建表(新生数据) :此table下的regions(多个),每个region都只保存此table的数据。

2、pd组件参数 enable-cross-table-merge

设置是否开启跨表 merge。
默认值:true

针对空region合并的场景,true表示,多个regions(不同表的region)可以合并到一起成新的region

3、split-region-on-table

tikv组件参数
split-region-on-table
开启按 table 分裂 Region的开关,建议仅在 TiDB 模式下使用。
默认值:false

针对region分裂场景
如果设置为true,表示分裂时按照表进行分裂regions,可能会产生过多空region,并且导致 空region不能跨表无法 merge;
如果设置为false并且开启了跨表合并,将会跨表合并空region

1 Like

3个放在一起的默认值的理解
1、新建数据时 一个表对应一个独立的region
2、允许跨表合并region
3、分裂region 不按表分裂(有的region里包含多个表的数据)。

1 Like

这个解释,我理解了,非常感谢!。

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