计算节点变配

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

当数据量和计算量动态增长,计算资源(CPU、磁盘、内存以及数据处理节点数量)成为数据处理速度的瓶颈时,您可以对实例动态扩展,在线变更实例规格和计算节点。

目前AnalyticDB PostgreSQL版不同的实例资源类型对计算节点变配的支持程度不一样,具体如下:

变配操作

Serverless模式

存储弹性模式

升级节点规格

不支持

支持

降级节点规格

不支持

支持

新增计算节点

支持

支持

减少计算节点

支持

支持

注意事项

  • 存储弹性模式实例V6.3.10.5及以上版本/V7.0.1.2及以上版本支持减少计算节点数量,如何查看内核版本,请参见查看内核小版本

  • 存储弹性模式实例V6.6.2.0及以上版本/V7.0.5.0及以上版本在增加计算节点过程中支持读写,而之前版本仅支持只读;在减少计算节点过程中,写入数据可能会受到影响。

  • 存储弹性模式实例减少计算节点时,请确保缩容后的实例规格能容纳当前实例数据。

  • Serverless实例的计算节点变配会导致正在执行的SQL中断且变配后无法恢复执行。

变配方式选择

  • 升降节点规格,是指节点数量不变,对已有节点的CPU、内存、磁盘等资源进行规格变配。该方式不涉及数据的迁移,变配速度较快。

  • 增加或减少计算节点,是指在原实例基础上增加或删除相同规格的计算节点,总资源也会随之变化,但会对数据做重新的负载均衡,所耗时间与数据量成比例,是一个相对复杂的操作。两种变配方式的耗时可参考变配耗时

当有资源变配的需求时,如何选择变配方式,应该遵循以下原则:

  • 查看节点监控,在业务运行期间,计算节点的CPU和IO使用率长时间处于较高水位时,优先选择增加计算节点。在CPU、内存资源不足,而IO使用率不高时,优先做节点规格升配,可以更快地解决性能瓶颈。

  • 磁盘水位较高,计算资源充足时,可以选择在升级节点规格时只增加节点存储容量,无需增加计算节点,节省成本。

  • 有资源降配需求时,优先选择降低节点规格;在规格无法降低时,再选择减少计算节点。

变配耗时

升级节点规格与降级节点规格耗时约为10分钟;增加计算节点与减少计算节点的耗时与实例模式相关,具体信息如下:

  • 存储弹性模式

    根据数据量的不同,实例规格变配的过程大约需要30分钟到数十个小时不等,与表数量、分区表数量、索引数量、是否压缩、总数据量、实例规格等因素相关。预估变配时间可以参考公式:

    变配时间(min)=总数据量(GB)/1.25/变配后节点数+预留时间。

    预留时间包括资源申请等步骤执行耗时,固定为30分钟。例如,总数据量为1TB 的实例扩容到16节点,预估的变配时间为1024/1.25/16+30=81min。

    说明

    在新增计算节点过程中:

    • 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'
  • 大量数据写入、更新会延长变配时间。为了优化变配速度,对于业务侧写入较频繁的表,重分布将会在一段时间后加写锁,这可能会短暂影响表的读写。您可从控制台实时观察扩容进度。

说明

在低版本的实例中,当新增计算节点时,不支持在线变配,可能会导致表的读写中断。请在业务低峰期进行。

  1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台
  2. 在控制台左上角,选择实例所在地域。
  3. 找到目标实例,在操作列中选择计算节点变配 > 新增计算节点

  4. 提示对话框中,勾选我已知晓该操作影响,并同意继续进行变配操作,单击确定

    说明

    仅Serverless实例需要执行该步骤。

  5. 变配页面,选择合适的节点数量(segment),勾选服务协议,单击立即购买

    警告
    • 存储弹性模式实例:计算节点变配过程中处于重分布状态的表只读,新版本支持可读写,重分布时间与表大小相关,请您合理安排变配任务。

    • Serverless实例:变配操作提交后会导致SQL执行中断且变配后无法恢复执行。

  6. 返回实例列表页面,待目标实例状态变更为运行中即可。

  7. 您可以对某些性能要求较高的表,执行以下SQL进行预热,从而加速访问。

    SELECT count(*) FROM <hot_table>;
    说明
    • 仅需对Serverless实例做数据预热操作。

    • 节点扩缩容会经历初始化资源、同步系统表元数据信息、加锁保护并修改数据分布信息、解锁并清理资源、异步恢复本地缓存五个步骤。由于本地缓存是异步恢复,所以短时间本地缓存命中率不高。预热数据可以加速访问。

减少计算节点

警告

存储弹性模式实例减少计算节点时,请确保缩容后的实例规格能容纳当前实例数据。在缩容期间,请减少对实例的数据更新及写入操作。

  1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台
  2. 在控制台左上角,选择实例所在地域。
  3. 找到目标实例,在操作列中选择计算节点变配 > 减少计算节点

  4. 提示对话框中,勾选我已知晓该操作影响,并同意继续进行变配操作,单击确定

  5. 变配页面,选择合适的节点数量(segment),勾选服务协议,单击立即购买

    警告
    • 存储弹性模式实例:计算节点变配过程中处于重分布状态的表只读,重分布时间与表大小相关,请您合理安排变配任务。

    • Serverless实例:变配操作提交后会导致SQL执行中断且变配后无法恢复执行。

  6. 返回实例列表页面,待目标实例状态变更为运行中即可。

  7. 您可以对某些性能要求较高的表,执行以下SQL进行预热,从而加速访问。

升级节点规格

  1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台
  2. 在控制台左上角,选择实例所在地域。
  3. 找到目标实例,在操作列中选择计算节点变配 > 升级节点规格

  4. 变配页面,修改以下配置。

    配置

    说明

    实例资源类型

    固定为当前实例的资源类型,无法修改。

    节点规格(segment)

    根据需求选择合适的节点规格。

    节点存储容量(segment)

    根据需求选择合适的计算节点存储容量。

    警告
    • 计算节点规格变配过程中数据库只支持读,请您合理安排变配任务。

    • 计算节点存储容量变更时实例可正常读写。

  5. 勾选服务协议,单击立即购买

  6. 返回实例列表页面,待目标实例状态变更为运行中即可。

降级节点规格

  1. 登录云原生数据仓库AnalyticDB PostgreSQL版控制台
  2. 在控制台左上角,选择实例所在地域。
  3. 找到目标实例,在操作列中选择计算节点变配 > 降级节点规格

  4. 变配页面,修改以下配置。

    配置

    说明

    实例资源类型

    固定为当前实例的资源类型,无法修改。

    节点规格(segment)

    根据需求选择合适的节点规格。

    节点存储容量(segment)

    暂不支持缩小节点存储容量。

    说明

    存储弹性模式基础版实例暂不提供该配置项。

    警告
    • 计算节点规格变配过程中数据库支持只读,请您合理安排变配任务。

    • 计算节点存储容量变更时,实例可正常读写。

  5. 勾选服务协议,单击立即购买

  6. 返回实例列表页面,待目标实例状态变更为运行中即可。

相关文档

规格及选型