删除数据并降低预配吞吐量时物理分区数量是否会下降?
物理分区数量变动问题解答
首先直接给结论:物理分区数量不是只能单向上涨,确实存在下降的可能,目前主流云原生分布式数据库基本都已经支持自动分区合并能力。
删数、下调预配RU的场景下会不会触发分区数量下降?
会,只要符合对应的触发规则就会自动执行分区合并,减少物理分区总数。
分区合并的触发条件
不同厂商的阈值有细微差异,通用的触发要求包括以下几个:
- 存储占用达标:单个物理分区的存储使用量持续低于阈值,通常是单分区最大存储限额的10%30%。比如单物理分区最大存储是50GB的产品,只要分区存储低于10GB且保持1224小时以上,就满足存储侧的合并条件。设置持续时间要求是为了避免临时删除大量数据导致的频繁合分操作,影响性能。
- RU配额达标:当前整个容器/数据表的总预配RU,低于现有分区数能承载的最大RU阈值。比如单物理分区最高支持10000RU,如果你现在总预配RU下调到30000以下,现有5个分区的情况下就满足RU侧的合并条件。
- 实例无进行中的分区相关任务:正在执行分区拆分、数据迁移、全量备份、版本升级这类操作的时候,不会触发分区合并,避免资源抢占影响业务稳定性。
分区合并的实现逻辑
整个合并过程对业务完全透明,不会造成访问中断或者报错
核心实现流程如下:
- 后台常驻的监控线程会定期扫描所有物理分区的存储、RU使用率、负载情况,筛选出符合合并条件的相邻分区对。
- 先在后台创建新的目标物理分区,全量拷贝两个待合并源分区的数据,同时同步期间的增量写入数据,这个阶段所有业务请求还是走原来的源分区,没有任何影响。
- 全量+增量数据校验完全一致后,后台静默把请求路由切换到新的目标分区,确认所有流量都切完后销毁原来的两个源物理分区,总物理分区数减少1,合并完成。
补充说明
部分比较老的分布式数据库版本,或者用户手动配置了关闭自动分区合并的实例,不会自动触发分区数下降,这种情况可以联系服务商提交工单申请手动合并。
内容的提问来源于stack exchange,提问作者tlt
相关产品推荐
相关产品推荐

