当数据量和计算量动态增长,计算资源(CPU、磁盘、内存以及数据处理节点数量)成为数据处理速度的瓶颈时,您可以对实例动态扩展,在线变更实例规格和计算节点。
目前AnalyticDB PostgreSQL版不同的实例资源类型对计算节点变配的支持程度不一样,具体如下:
变配操作 | Serverless模式 | 存储弹性模式 |
升级节点规格 | 不支持 | 支持 |
降级节点规格 | 不支持 | 支持 |
新增计算节点 | 支持 | 支持 |
减少计算节点 | 支持 | 支持 |
注意事项
存储弹性模式实例V6.3.10.5及以上版本/V7.0.1.2及以上版本支持减少计算节点数量,如何查看内核版本,请参见查看内核小版本。
存储弹性模式实例V6.6.2.0及以上版本/V7.0.5.0及以上版本在增加计算节点过程中支持读写,而之前版本仅支持只读;在减少计算节点过程中,写入数据可能会受到影响。
存储弹性模式实例减少计算节点时,请确保缩容后的实例规格能容纳当前实例数据。
Serverless实例的计算节点变配会导致正在执行的SQL中断且变配后无法恢复执行。
变配耗时
升级节点规格与降级节点规格耗时约为10分钟;增加计算节点与减少计算节点的耗时与实例模式相关,具体信息如下:
存储弹性模式
根据数据量的不同,实例规格变配的过程大约需要30分钟到数十个小时不等,与表数量、分区表数量、索引数量、是否压缩、总数据量、实例规格等因素相关。当实例规格变配结束,对应实例恢复运行中状态,您可以正常访问数据库。
说明在新增计算节点过程中:
V6.6.2.0以下版本/V7.0.5.0以下版本实例会出现重分布中的表无法写入和短暂无法读取现象,可以稍后进行重试。
V6.6.2.0及以上版本/V7.0.5.0及以上版本支持新增计算节点过程读写不中断。
Serverless
Serverless支持分钟级别的在线弹性扩缩容,扩缩容过程中无需进行数据搬迁,因此扩缩容速度取决于资源申请的速度,与数据规模无关。实验室测试扩缩容性能如下:
16个节点及以内的扩缩容耗时不超过60秒。
16个节点以上的扩缩容耗时不超过5分钟。
变配操作
新增计算节点
在线扩容是指实例在变配过程中不影响业务正常运行的能力,即库中所有表读写不中断。存储弹性模式6.0在V6.6.2.0及以上版本,以及7.0在V7.0.5.0及以上版本,都支持了新增计算节点的在线变配能力。需要注意的点包括:
变配过程中会依次对所有表执行重分布。非重分布中的表不受变配影响,重分布中的表支持所有查询,支持INSERT、COPY、DELETE、UPDATE命令,不支持所有DDL类命令和VACUUM命令,当对其执行DDL时会报错:
TRUNCATE t1;
ERROR: Unsupport 'TRUNCATE TABLE' command during online expansion on 't1'
大量数据写入、更新会延长变配时间。为了优化变配速度,对于业务侧写入较频繁的表,重分布将会在一段时间后加写锁,这可能会短暂影响表的读写。您可从控制台实时观察扩容进度。
在低版本的实例中,当新增计算节点时,不支持在线变配,可能会导致表的读写中断。请在业务低峰期进行。
- 登录云原生数据仓库AnalyticDB PostgreSQL版控制台。
- 在控制台左上角,选择实例所在地域。
找到目标实例,在操作列中选择 。
在提示对话框中,勾选我已知晓该操作影响,并同意继续进行变配操作,单击确定。
说明仅Serverless实例需要执行该步骤。
在变配页面,选择合适的节点数量(segment),勾选服务协议,单击立即购买。
警告存储弹性模式实例:计算节点变配过程中处于重分布状态的表只读,新版本支持可读写,重分布时间与表大小相关,请您合理安排变配任务。
Serverless实例:变配操作提交后会导致SQL执行中断且变配后无法恢复执行。
返回实例列表页面,待目标实例状态变更为运行中即可。
您可以对某些性能要求较高的表,执行以下SQL进行预热,从而加速访问。
SELECT count(*) FROM <hot_table>;
说明仅需对Serverless实例做数据预热操作。
节点扩缩容会经历初始化资源、同步系统表元数据信息、加锁保护并修改数据分布信息、解锁并清理资源、异步恢复本地缓存五个步骤。由于本地缓存是异步恢复,所以短时间本地缓存命中率不高。预热数据可以加速访问。
减少计算节点
存储弹性模式实例减少计算节点时,请确保缩容后的实例规格能容纳当前实例数据。在缩容期间,请减少对实例的数据更新及写入操作。
- 登录云原生数据仓库AnalyticDB PostgreSQL版控制台。
- 在控制台左上角,选择实例所在地域。
找到目标实例,在操作列中选择 。
在提示对话框中,勾选我已知晓该操作影响,并同意继续进行变配操作,单击确定。
在变配页面,选择合适的节点数量(segment),勾选服务协议,单击立即购买。
警告存储弹性模式实例:计算节点变配过程中处于重分布状态的表只读,重分布时间与表大小相关,请您合理安排变配任务。
Serverless实例:变配操作提交后会导致SQL执行中断且变配后无法恢复执行。
返回实例列表页面,待目标实例状态变更为运行中即可。
您可以对某些性能要求较高的表,执行以下SQL进行预热,从而加速访问。
升级节点规格
- 登录云原生数据仓库AnalyticDB PostgreSQL版控制台。
- 在控制台左上角,选择实例所在地域。
找到目标实例,在操作列中选择 。
在变配页面,修改以下配置。
配置
说明
实例资源类型
固定为当前实例的资源类型,无法修改。
节点规格(segment)
根据需求选择合适的节点规格。
节点存储容量(segment)
根据需求选择合适的计算节点存储容量。
警告计算节点规格变配过程中数据库只支持读,请您合理安排变配任务。
计算节点存储容量变更时实例可正常读写。
勾选服务协议,单击立即购买。
返回实例列表页面,待目标实例状态变更为运行中即可。
降级节点规格
- 登录云原生数据仓库AnalyticDB PostgreSQL版控制台。
- 在控制台左上角,选择实例所在地域。
找到目标实例,在操作列中选择 。
在变配页面,修改以下配置。
配置
说明
实例资源类型
固定为当前实例的资源类型,无法修改。
节点规格(segment)
根据需求选择合适的节点规格。
节点存储容量(segment)
暂不支持缩小节点存储容量。
说明存储弹性模式基础版实例暂不提供该配置项。
警告计算节点规格变配过程中数据库支持只读,请您合理安排变配任务。
计算节点存储容量变更时,实例可正常读写。
勾选服务协议,单击立即购买。
返回实例列表页面,待目标实例状态变更为运行中即可。