删除大量数据后 region并没有变少

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。

1、在大量删除数据后,会产生空 region ,在 2.1 版本 region merge 默认没有开启,请使用 pd-ctl config show all 后,上传下配置信息

2、开启 region merge 后,可以看下 pd --> Cluster --> region health --> empty region,查看 region merge 的情况

3、请确认下数据的删除方式是 delete 还是 drop 、truncate,如果是 drop、truncate ,删除的表的数量大概是多少?

删除900G

请问如果不手动开启,region会一直增大吗?造成磁盘空间也很大?

1、关于磁盘空间

Region 数量和数据占用的磁盘有一定的关系,但是不一定是正相关的。因为我们在删除数据后,会经历 GC,GC 相关的内容请参考:

https://pingcap.com/docs-cn/v2.1/reference/garbage-collection/#tidb-垃圾回收-gc

2、关于 Region 数量

删除数据后,可能会产生大量的空 region ,如果不开启 region merge ,那么原则上,会随着使用的增加,region 的数据会持续增加~~

具体如何开启参数 可有文档?

或者我升级到3.0这个问题是不是就解决了

1、建议升级到 3.0 版本后,开启 region merge

2、因为是 2.1 升级至 3.0 ,如果要开启 region merge ,也需要手动打开相关配置,merge-scheduler-limit 可根据需求进行设置:

https://github.com/tikv/tikv/blob/master/docs/how-to/configure/region-merge.md

https://pingcap.com/docs-cn/v3.0/reference/best-practices/massive-regions/#方法五开启-region-merge

开启之后对性能是否有影响?

1、原则上会有 region checker 会对现存的 region 进行检查,查询是否有符合 merge 条件的 region,会消耗极少资源。

2、在 3.0 版本已默认开启,开启 region merge 是为了降低海量 region 带来的性能下降。

以上请参考,并评估~

1 个赞

请问,这3个参数。2.0.0 rc1版本支持吗?

pd-ctl config set max-merge-region-size 20

pd-ctl config set max-merge-region-keys 200000

pd-ctl config set merge-schedule-limit 8


后来经过查阅资料,好像是从2.0.0 rc3开始支持的?

可以测试下,版本比较旧,可以尝试升级下,rc 版本建议都升级到 ga 版本哈。

谢谢,经过升级到2.0rc4,开启了merge region后,可以合并了。
历史比较悠久,不敢跨大版本升级,正在逐步计划先升级2.0rc4,升级到ga2.1,再升级到3.0.

ok,是正确的的升级步骤。有问题欢迎开新帖继续讨论

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