# 创建和管理DWS资源池
#### 功能介绍
资源管理功能是DWS通过创建资源池对计算资源实现隔离和限制，再通过关联数据库用户将其关联至不同的资源池，用户SQL查询时将根据"用户-资源池"的关联关系将查询转至资源池中执行。通过指定资源池上可并行运行的查询数、单查询内存上限以及资源池可使用的内存和CPU资源，从而实现对不同业务之间的资源限制和隔离，满足数据库混合负载需求，保证执行查询时有充足的系统资源，确保查询性能。当集群转换为逻辑集群后，可以选择指定的逻辑集群进行同样的资源池的创建、修改、删除。
#### 约束与限制
- 用户最多可创建63个资源池。
- **CPU资源共享配额限制如下：**
  - 所有资源池的总和不能超过99%。当配置CPU共享配额后，如果当前只有一个资源池时，该参数不生效。
  
  - 共享配额非绝对限制，只有在发生CPU竞争时才生效。所有资源池的CPU专属限额总和最大不能超过100%，系统默认的CPU专属限额（%）为0。
   
- **CPU资源专属限额限制如下：**
  - CPU专属限额仅8.1.3及以上集群版本支持。
  
  - 用户在CPU低核数场景下，不建议分配多个专属资源池。因为CPU专属限额分配比最终实际分配核心最小为1，且在CPU核数量较少的情况下，如果先建立的资源池已占用完CPU剩余数量，后建立的资源池会共用上一个资源池的CPU，可能导致CPU配比与实际不符。 举例说明：集群的CPU核为2，建立3个资源池，CPU分配比为15%、25%、60%。其中第一个物理核心分配为1（最小值），第二个分配为1（最小值），第三个分配为1（CPU核已无剩余，共用上一个CPU）。
    
   
- 网络带宽权重仅8.2.1及以上集群版本支持，存算分离集群不支持。
- **关联异常规则限制如下：**
  - 关联、解绑异常规则仅8.2.0及以上集群版本支持。
  
  - 默认异常规则，当用户未关联资源池，或者用户所关联的资源池未配置异常规则时默认生效；当用户所关联的资源池关联所指定规则时，以所关联规则为准。
  
  
  
  - 同一个资源池最多可以关联16组异常规则，资源池关联的多组不同的异常规则以"或"的关系生效，满足其中一组的所有条件即可生效。例如，资源池关联两组规则，一组指定elapsedtime=2400， 另一组指定elapsedtime=1200，memsize=2000，那么执行中的作业，满足执行时间达到1200秒且内存使用达到2000MB时，或者执行时间达到2400秒时，都会触发规则终止作业。
   
- **关联用户限制如下：**
  - 一个数据库用户只有被添加到某个资源池中之后，该用户运行作业所使用的资源才能被管控。
  
  - 一个数据库用户只能被添加至一个资源池中，从资源池中移除的用户可以再次添加至其他资源池。
  
  - 数据库管理员用户不可关联。
  
  - 当用户没有指定关联资源池时，会被默认关联到default_pool，资源使用受default_pool限制。default_pool在开启资源管理功能后由系统自动创建。
   
 
 #### 添加资源池
1. [登录DWS管理控制台](https://console.huaweicloud.com/dws)。
2. 在集群列表中单击指定集群名称，进入**"集群详情"**页面。
3. 在上侧导航栏单击**"负载管理"**。
4. 单击资源池列旁的**"添加资源池"**，弹出添加资源池页面。
5. 参见[表1]填写资源池的名称和相关资源配置。
   
    表1资源池参数说明 
   | 参数项        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 默认值       |
   |:---|:---|:---|
   | 名称      | 资源池的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | -        |
   | CPU资源（%）                                                   | - 共享配额：关联在当前资源池的用户在执行作业时可以使用的CPU时间比例，取值范围为1-99的整数。**在CPU系统繁忙的情况下，不同资源池按照共享配额配置分配CPU资源；在CPU系统空闲的情况下，该配置不生效。**例如，资源池A和B被绑定在CPU1运行，当A和B均运行时参数生效，只有A运行则参数不生效。  - 专属限额：限定资源池中数据库用户在执行作业时可使用的最大CPU核数占总核数的百分比，取值范围为0-100的整数，0表示不限制。**限制资源池使用的CPU核数上限，无论CPU系统繁忙或者空闲，该资源池上的作业都无法突破该限额配置。**   CPU资源更多详情请参见[CPU管理](https://support.huaweicloud.com/mgtg-dws/dws_01_1510.html#ZH-CN_TOPIC_0000002617625195__section7998115535218)。 | -         |
   | 内存资源（%）  | 资源池所占用的内存百分比。 **内存和查询并发支持单独管控和联合管控，联合管控时必须同时满足并发和内存要求时作业才能下发。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 0（不限制）     |
   | 存储资源（MB） | 可使用的永久表空间大小。通过设置该参数来指定存储空间大小，用于限定不同用户可以使用的空间配额。 **该值是资源池下所有DN的表空间总值，单DN节点可用空间=设置值 / DN节点数。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | -1（不限制）  |
   | 复杂语句并发   | 资源池中的最大查询并发数。 **内存和查询并发支持单独管控和联合管控，联合管控时必须同时满足并发和内存要求时作业才能下发。**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 10       |
   | 网络带宽权重                                                     | 网络调度时权重值。取值范围为1\~2147483647的整数，默认配置为-1。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | -1（不限制） |
      
   
   
6. 确认无误后，单击**"确定"** 。创建资源池需要一段时间请耐心等待，当页面右上角出现**"操作成功"**提示后，资源池创建成功，用户可在资源池下拉框中切换查看。
 
#### 修改资源池
在资源管理中，您可以对某个资源池的参数进行修改。
1. [登录DWS管理控制台](https://console.huaweicloud.com/dws)。
2. 在集群列表中单击指定集群名称，进入**"集群详情"**页面。
3. 在上侧导航栏单击**"负载管理"**。
4. 在**"资源池"** 列表中切换需要修改的资源池名称，参考下列步骤修改相应配置，其中包括**"[短查询配置]"** 、**"** **[资源配置]"** 、**"[关联异常规则]"** 、**"[关联用户]"**（四个模块可以独立修改）。
5. **修改短查询配置。**
   
   1. 单击**"短查询配置"** 模块右侧的**"编辑"** 修改相应取值，详情请参见[表2]修改相应参数。
       表2短查询配置参数 
      | 参数项     | 描述                                                                                          | 取值 |
      |:---|:---|:---|
      | 短查询加速   | 短查询加速开关，默认打开。                                                                               | 打开 |
      | 简单语句并发 | 执行估算内存小于32MB的短查询作业并发数，默认值"-1"表示不管控。此参数为单CN生效参数，集群总体简单语句实际生效的并发数是**当前设置并发数 \*** **集群CN数量**。 | 10  |
         
      
   
   2. 确认无误后，单击右侧的**"保存"**。
   
   
   
   
6. **修改资源配置。**
   
   1. 单击**"资源配置"** 模块右侧的**"编辑"** 修改相应取值，详情请参见[表3]修改相应参数。**其中** **配额模式和限额模式不建议同时使用。**
      ![](https://support.huaweicloud.com/mgtg-dws/public_sys-resources/note_3.0-zh-cn.png)
      创建资源池后可以设置共享配额比例，存在以下情况：
      - 资源池未设置专属限额管控，则共享配额可访问全部可用CPU资源。
      
      - 资源池已设置专属限额管控，系统同时会设置共享配额权重（默认值为20%）。该限额比例定义了资源池可使用的物理CPU范围，用于限制资源池的CPU使用上限。设置的配额比例在CPU满负载时生效，当多个资源池共享同一CPU时，系统依据配额比例抢占CPU资源。
       
       表3资源配置参数 
      | 参数项    | 描述                                                                                                                                                              | 默认值    |
      |:---|:---|:---|
      | 名称         | 资源池的名称。                                                                                                                                                        | -        |
      | 共享配额      | 关联在当前资源池的用户在执行作业时可以使用的CPU时间比例，取值范围为1-99的整数。 **在CPU系统繁忙的情况下，不同资源池按照共享配额配置分配CPU资源；在CPU系统空闲的情况下，该配置不生效。**          | -        |
      | 专属限额      | 限定资源池中数据库用户在执行作业时可使用的最大CPU核数占总核数的百分比，取值范围为0-100的整数，0表示不限制。 **限制资源池使用的CPU核数上限，无论CPU系统繁忙或者空闲，该资源池上的作业都无法突破该限额配置。** | -        |
      | 内存资源（%） | 资源池所占用的内存百分比。 **内存和查询并发支持单独管控和联合管控，联合管控时必须同时满足并发和内存要求时作业才能下发。**                                                  | 0（不限制） |
      | 存储资源（MB）  | 可使用的永久表空间大小。 **该值是资源池下所有DN的表空间总值，单DN节点可用空间=设置值 / DN节点数。**                                                          | -1（不限制）  |
      | 复杂语句并发  | 资源池中的最大查询并发数。 **内存和查询并发支持单独管控和联合管控，联合管控时必须同时满足并发和内存要求时作业才能下发。**                                                 | 10      |
      | 网络带宽权重    | 网络调度时权重值。取值范围为1\~2147483647的整数，默认配置为-1。                                                                                                                         | -1（不限制） |
         
      
   
   2. 确认无误后，单击**"确定"**。
   
   
   
   
7. **关联异常规则** 。
   
   1. 单击左侧**"关联异常规则"**。
   
   2. 从当前异常规则列表中，勾选需要关联的异常规则，一次可勾选多个。
   
   3. 确认无误后，单击**"确定"**。
   
   4. （可选）如果需要解绑异常规则，则单击**"解除关联"**即可。
   
   
   
   
8. **关联用户** 。
   
   1. 单击左侧**"关联用户"**。
   
   2. 从当前用户列表中，勾选需要关联的用户，一次可勾选多个。如果需要创建新用户请参见[操作步骤](https://support.huaweicloud.com/mgtg-dws/dws_01_01113.html#ZH-CN_TOPIC_0000002587065544__section33942019436)。
      用户绑定列表里锁状态有**"未锁定"** 、**"锁定"** 和**"未知"** 三种状态（在8.5.0.100之前的管理面版本未区分用户锁状态，仅显示为**"未知"** ）。已锁定的用户无法勾选关联，勾选按钮置灰；**"未知"**状态用户可以被勾选，但是否绑定成功取决于用户实际的锁定状态。
      
   
   3. 确认无误后，单击**"确定"**。
   
   4. （可选）如果需要解除关联用户，则单击**"解除关联"**即可。
   
   
   
   
 
#### 删除资源池
删除资源池可能存在数据丢失或资源不足等风险，请权衡业务需求与潜在风险，谨慎操作。
1. [登录DWS管理控制台](https://console.huaweicloud.com/dws)。
2. 在集群列表中单击指定集群名称，进入**"集群详情"**页面。
3. 在上侧导航栏单击**"负载管理"**。
4. 在左侧**"资源池"**下拉框中选择需要删除的资源池名称。
5. 单击右侧的**"删除资源池"** ，弹出删除资源池页面。
   
   删除资源池时如果资源池中有关联的数据库用户，则资源池不支持删除，请解除关联后重试。
   
   
6. 确认无误后，单击**"确定"**。
 
#### 相关文档
- 创建资源池SQL语法： [CREATE RESOURCE POOL](https://support.huaweicloud.com/sqlreference-dws/dws_06_0171.html)
- 修改资源池SQL语法：[ALTER RESOURCE POOL](https://support.huaweicloud.com/sqlreference-dws/dws_06_0133.html)
- 删除资源池SQL语法：[DROP RESOURCE POOL](https://support.huaweicloud.com/sqlreference-dws/dws_06_0202.html)
 
