更新时间:2024-12-11 GMT+08:00

弹性增删逻辑集群

背景信息

逻辑集群支持手动添加增删计划和自动弹性增删能力。支持在计划时间段内,动态创建、删除计算逻辑集群,实现计算资源动态伸缩。

  • 通过手动添加定时增删计划创建的逻辑集群主要用于提供计算能力,关联用户后该用户的查询都会切换到该逻辑集群上,同时建表语句仍在原始的逻辑集群上。
    • 一个用户仅支持绑定到一个计算逻辑集群上。
    • 若删除逻辑集群时,该逻辑集群关联的用户有业务运行,可能会出现报错。
  • 通过打开自动弹性开关创建的逻辑集群主要用于提供并发扩展能力,关联主逻辑集群后,主逻辑集群的部分查询路由到该逻辑集群上,同时建表语句仍在原始的逻辑集群上。
    开启并使用并发扩展功能,当系统面临高并发作业,主集群因为内存等资源不足出现排队时,DWS会自动增加额外的集群容量来处理增多的读取和写入语句,减少语句排队时间。不管语句在主集群上运行还是在并发扩展集群上运行,用户都将看到最新的数据,且性能相当。您可以通过配置资源池来管理将哪些语句发送到并发扩展集群。开启并发扩展后,符合条件的语句将发送到并发扩展集群,而不是排队等待。并发扩展功能限制如下:
    • 仅支持V3表和foreign外表。如果为复制表,仅支持SELECT。
    • 仅支持SELECT、INSERT、UPDATE、DELETE语句。
    • 不支持COPY导入。
    • 不支持UPSERT语句。
    • 不支持事务块。
    • 不支持存储过程。
    • 不支持带RETURNING子句和WITH RECURSIVE递归语句。
    • 不支持轻量级更新。
    • 不支持INSERT单个VALUES或者类似generate_series生成的语句。
  • 手动增删计划支持存算分离集群,历史版本需要联系技术支持人员升级使用。
  • 自动弹性增删仅支持存算分离集群和ECS规格的集群,且仅9.1.0及以上集群版本支持。
  • 存算分离集群包年/包月集群在定时增加逻辑集群时自动扩容节点,节点按需计费。

手动添加定时增删计划

  1. 登录GaussDB(DWS) 管理控制台,在左侧导航栏中,选择“集群 > 专属集群”。
  2. 在集群列表中,单击指定集群名称,进入“集群详情”页面。
  3. 存算分离集群创建后即为逻辑集群模式:

    • 存算分离:在左侧导航栏切换至“逻辑集群”页面,根据需求单击“添加增删计划”并设置合理的调度计划。

  4. 调度计划分为两种:

    • 周期性计划:在选中的时间段里(每星期/每月)触发一次,若无其它运维操作冲突则会进行逻辑集群的创建与删除。其中每周计划可以设置多段创建/删除时间。
      图1 周期性计划
    • 一次性计划:在指定的时间只执行一次,执行完毕后任务结束。
      图2 一次性计划

  5. 确认无误后,单击“确定”。在定时增删计划模块的表单中,用户可以看到具体的计划详情及下次执行时间。

    预估时间可能因为运维操作冲突或其它原因跳过执行,并且如果创建任务因为耗时较久默认会提前20分钟左右触发执行,以确保在设定的时间可以使用资源,请以实际执行情况为准。

自动弹性增删逻辑集群

  1. 登录GaussDB(DWS) 管理控制台,在左侧导航栏中,选择“集群 > 专属集群”。
  2. 在集群列表中,单击指定集群名称,进入“集群详情”页面。
  3. 存算分离集群创建后即为逻辑集群模式,单击左侧“逻辑集群管理”,进入逻辑集群页面。
  4. 单击“自动弹性开关”按钮开启该功能。

    开启自动弹性开关后,系统会自动准备节点资源(未使用的节点不收费),并检测业务繁忙程度,在逻辑集群忙闲时自动创建删除只读弹性逻辑集群。

    图3 开启自动弹性开关

  5. 开启自动弹性开关后,通过使用SQL编辑器连接集群后执行SQL语句创建并设置资源池,并为资源池绑定用户,使指定资源池开启自动弹性能力。

    1
    2
    3
    create resource pool poolg with(nodegroup = 'v3_logical');
    alter user "write_user" with resource pool "poolg";
    alter resource pool xxx  with (enable_concurrency_scaling=true);
    
    图4 设置资源池