【 TiDB 使用环境】生产环境
【 TiDB 版本】V6.5.9
【复现路径】如主题描述,希望数据在存储时,可以根据某个列(比如时间, 不能作为主键)进行连续存储。官方文档描述的是,可以执行range,但这样在建表时就限制了region的数量,无法满足随着时间的推移,数据量增长的场景。所以tidb 有没有方案可以实现随着数据的增长,实现region split的功能。
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
这么做的目的是什么呢?
TiDB 底层的 Region 会自动分裂和合并
只能看看分布表行不行
TiDB 的 Region 分裂机制是自动的,当某个 Region 的大小超过一定限制后,TiKV 会将它分裂为多个 Region。这种分裂机制是基于数据 key 的范围来自动进行的,以保持系统的可扩展性和性能
。从 v6.1.0 开始,TiDB 支持设置自定义的 Region 大小,这样可以减少 Region 个数,降低资源开销并提升性能
如同上面的回答结果:
coprocessor.region-max-keys
- Region 最多允许的 key 的个数,超过时系统自动分裂成多个 Region。
coprocessor.egion-max-size - Region 容量空间最大值,超过时系统分裂成多个 Region。
参考:load base split https://docs.pingcap.com/zh/tidb/stable/configure-load-base-split#load-base-split
split.qps-threshold
:表明一个 Region 被识别为热点的 QPS 阈值。当region-split-size
小于 4 GB 时,默认为每秒3000
QPS。当region-split-size
大于或等于 4 GB 时,默认值为每秒7000
QPS。split.byte-threshold
:自 v5.0 引入,表明一个 Region 被识别为热点的流量阈值,单位为 Byte。当region-split-size
小于 4 GB 时,默认值为每秒30 MiB
流量。当region-split-size
大于或等于 4 GB 时,默认值为每秒100 MiB
流量。split.region-cpu-overload-threshold-ratio
:自 v6.2.0 引入,表明一个 Region 被识别为热点的 CPU 使用率(占读线程池 CPU 时间的百分比)阈值。当region-split-size
小于 4 GB 时,默认值为0.25
。当region-split-size
大于或等于 4 GB 时,默认值为0.75
。
这个前提是不存在的。region超过一定的大小(https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#region-max-size )会自己分裂的。
建议再仔细看看文档。特别是下面这个部分。
https://docs.pingcap.com/zh/tidb/stable/high-concurrency-best-practices#tidb-高并发写入场景最佳实践