本文部分内容节选自华为云帮助中心的分布式数据库中间件(DDM)服务的产品介绍



背景

随着业务增长,逻辑库存储空间不足,并发压力较大。



解决方案

此时可对DDM实例逻辑库进行平滑扩容,通过增加RDS实例来提高数据存储能力与并发支持能力。在不中断应用服务的情况下,通过新增RDS实例,扩展数据库存储空间。扩容除了解决数据存储容量瓶颈,还能通过增加并发计算能力间接提升数据库性能。通过DDM管理控制台操作即可完成扩容,应用无需改造,扩容进度支持可视化跟踪。



平滑扩容

平滑扩容是一种水平扩容方式,通过增加RDS实例的数量来提升总体数据存储容量,把分库平滑扩容到新增加的RDS实例上,保证所有的数据都是均衡分布在每个分库上,降低单个RDS实例的处理压力。



平滑扩容原理如下图所示。
DDM实践:数据库秒级平滑扩容方案_第1张图片



逻辑库平滑扩容实践

操作场景

逻辑库扩容涉及到数据迁移。具体分以下情况:

1、所有全局表将复制一份,存储到新增RDS实例的对应分片中。

2、分片表数据将会重新分配和存储。

3、单表存储在默认分片上,扩容过程无需迁移单表数据。

说明:RDS存储空间不足时,建议对逻辑库下的某一RDS实例进行磁盘扩容,扩充RDS实例存储空间。并发压力较大无法满足业务需求时,建议按照以下操作增加RDS实例,进行平滑扩容。“拆分算法”为“Range”的逻辑表在进行平滑扩容时,只在新的分片上创建物理表,不做数据迁移。扩容成功后,用户需要手动修改“Range”表的分片规则,加入新分片的规则。



操作步骤

1、登录管理控制台。
2、在导航上选择“数据库 > 分布式数据库中间件”,进入总览页面。
单击左侧菜单栏的“DDM实例管理”,进入“DDM实例管理”页面。
3、单击DDM实例名称,进入实例基本信息页面。
4、在实例基本信息页面,选择“逻辑库管理”选项卡,查看DDM实例逻辑库。
5、在需要扩容的逻辑库右侧操作栏单击“平滑扩容”。
6、在“平滑扩容”弹出框左侧勾选需要扩容的RDS实例,单击“确定”。可在“逻辑库管理”页面查看扩容进度,扩容过程大概需要5-30分钟,具体时长与实际需要迁移的数据量相关。当“逻辑库状态”为“运行中”时,表示扩容成功,“已使用RDS”列将会呈现新扩容的RDS实例。


说明:只有逻辑库状态为“运行中”才能进行平滑扩容。一个DDM实例内,只允许同时对一个实例逻辑库进行平滑扩容操作;不同的DDM实例内,可以同时扩容实例逻辑库。



注:平滑扩容使用限制如下:

1、RDS实例与DDM实例需要在相同VPC,且RDS实例没有被其它DDM实例使用。

2、逻辑库下必须有表才能进行平滑扩容。

3、实例存在节点故障情况下不能进行扩容。

4、一个DDM实例内,只允许同时对一个实例逻辑库进行平滑扩容操作;不同的DDM实例内,可以同时扩容实例逻辑库。

5、不允许使用正在扩容中的RDS实例进行建库建表操作。

6、最多仅支持扩容50个RDS实例。

7、扩容最大规格为:每个分片不超过20张表。每张表不超过800万数据。



以上就是关于数据库秒级平滑扩容的实践方案,想要了解更多,欢迎点开分布式数据库中间件DDM查看。