CREATE RESOURCE GROUP
CREATE RESOURCE GROUP¶
定义一个新的资源组。
- 语法
- ``` sql
CREATE RESOURCE GROUP name WITH (group_attribute=value [, … ])
其中`group_attribute`是: ``` sql CPU_RATE_LIMIT=integer | CPU_RATE_CEILING=integer | CPUSET=tuple MEMORY_LIMIT=integer [ CONCURRENCY=integer ] [ IO_KBPS=integer ] [ IC_KBPS=integer ] [ QUEUE_PRIORITY= {-1 | 0 | 1 | 2} ]
- 描述
-
为SeaboxMPP数据库资源管理创建一个新的资源组。可以创建资源组来管理角色资源。
启用资源组后,创建的用于管理用户角色的资源组将标识该角色的并发事务,内存和CPU限制等。您可以将此类资源组分配给一个或多个角色。
必须具有
SUPERUSER
权限才能创建资源组。SeaboxMPP数据库群集中允许的最大资源组数为100。SeaboxMPP数据库预定义了三个默认资源组:
admin_group
、default_group
和system_group
。这些组名以及组名none
均保留。要为资源组设置适当的限制,SeaboxMPP数据库管理员必须熟悉通常在系统上执行的查询,以及执行这些查询的用户/角色。
创建资源组的角色后,组分配给使用
ALTER ROLE
或CREATE ROLE
命令一个或多个角色。 - 参数
-
该SQL命令参数说明见下
name
- 资源组的名称。
CONCURRENCY integer
-
此资源组允许的最大并发事务数,包括活动和空闲事务。
CONCURRENCY
值必须是[0 ..max_connections
]范围内的整数。 为角色定义的资源组的默认CONCURRENCY
值为20。- 注意: 您不能将
admin_group
的CONCURRENCY
值设置为零(0)。
- 注意: 您不能将
CPU_RATE_LIMIT integer
|CPU_RATE_CEILING integer
|PUSET tuple
-
创建资源组时,可以指定
CPU_RATE_LIMIT
,CPU_RATE_CEILING
或CPUSET
中的一个或多个,也可以都不指定,以使用默认值。CPU_RATE_LIMIT
是分配给该资源组的CPU资源的相对(共享)百分比。可以为资源组指定的最小为1, 最大为100。CPU_RATE_CEILING
是分配给该资源组的CPU资源的绝对(强制)百分比。 可以为资源组指定的最小CPU百分比为1, 最大为100。CPUSET
标识要为此资源组保留的CPU核心。在tuple
中指定的CPU核心必须在系统中可用。tuple
是用逗号分隔的单个核心号或核心号间隔的列表。 您必须将元组用单引号引起来,例如'1,3-4'。 * 注意: 仅在为SeaboxMPP数据库集群启用基于资源组的资源管理之后,才能为资源组配置CPUSET
。 MEMORY_LIMIT integer
- 分配给该资源组的SeaboxMPP数据库内存资源上限(单位:MB)。
IO_KBPS integer
- 限制IO每秒读写字节数,单位为KB/s。
IC_KBPS integer
- 限制内部数据传输每秒字节数,单位为KB/s。
QUEUE_PRIORITY {-1 | 0 | 1 | 2}
- 队列优先级。
- 注解
-
不能在显式事务或子事务中提交
CREATE RESOURCE GROUP
命令。使用
sc_toolkit.sc_resgroup_config
系统视图显示所有资源组的限制设置:SELECT * FROM sc_toolkit.sc_resgroup_config;
- 示例
-
创建一个CPU和内存限制为350MB的资源组:
CREATE RESOURCE GROUP rgroup1 WITH (CPU_RATE_LIMIT=35, MEMORY_LIMIT=350);
创建一个资源组,其并发事务限制为20,内存限制为150MB,CPU相对使用率限制为25:
CREATE RESOURCE GROUP rgroup2 WITH (CONCURRENCY=20, MEMORY_LIMIT=150, CPU_RATE_LIMIT=25);
创建一个内存限制为110MB的资源组,并为其分配CPU核心1至3:
CREATE RESOURCE GROUP rgroup3 WITH (CPUSET='1-3', MEMORY_LIMIT=110);
- 兼容性说明
CREATE RESOURCE GROUP
是SeaboxMPP数据扩展。 在SQL标准中没有资源组或资源管理。- 相关SQL命令
ALTER ROLE
,CREATE ROLE
,ALTER RESOURCE GROUP
,DROP RESOURCE GROUP