云原生数据仓库AnalyticDB MySQL版湖仓版(3.0)采用了存储计算分离架构,您可以对计算资源进行弹性扩缩容。资源组功能可以对计算资源进行弹性划分,不同资源组间的计算资源在物理上完全隔离。通过将数据库账号绑定到不同的资源组,SQL任务或Spark任务根据绑定关系路由至对应的资源组进行执行,从而满足实例内部多租户、混合负载的需求。
资源组分类
-
- 默认资源组
- 默认资源组
user_default
是集群创建时便存在的,任务类型为Interactive,可以调整计算预留资源量,但不可被删除。- 适用场景:主要支撑高QPS低RT在线场景,使用分时弹性方式进行计算资源扩容和缩容。
- 任务:执行XIHE MPP型任务。
- 资源量:计算预留资源最小为0 ACU,最大为实例当前未分配资源,步长为16 ACU。
-
- 自定义资源组
- 用户自定义创建的资源组,可通过指定任务类型创建不同资源组类型。AnalyticDB MySQL湖仓版支持创建Interactive型和Job型资源组。
- Interactive型
- 适用场景:主要支撑高QPS低RT在线场景,使用分时弹性方式进行计算资源扩容和缩容。
- 任务:执行XIHE MPP型任务。
- 资源量:计算预留资源最小为16 ACU,最大为实例当前未分配资源,步长为16 ACU。
- Job型
- 场景:主要支撑高吞吐离线场景,使用按需弹性方式进行计算资源扩容和缩容。
- 任务:可以执行XIHE Batch型任务、Spark SQL、Spark Batch任务、Spark Streaming任务、Spark机器学习任务等。
- 资源量:计算预留资源最小为0 ACU,最大为实例当前未分配资源,步长为8 ACU。
- Interactive型
数据库账号与资源组的绑定关系
- 一个账号只能绑定一个资源组,一个资源组可以被多个账号绑定。
- 一个账号没有与任何Interactive型自定义资源组绑定的时候,则该账号与默认资源组绑定。
- 删除资源组时,会同时解绑与该资源组绑定的账号。
- 删除账号时,会同时解除其与资源组的绑定关系。
指定资源组的方式与优先级
- 通过JDBC提交SQL时,指定资源组的优先级从高到低依次为Hint方式、SET方式、绑定资源组、默认资源组。
- 通过Hint方式指定资源组,语法为:
/*+resource_group=xxx*/
。 - 通过Session级别的SET方式指定资源组,语法为:
SET resource_group = xxx;
。 - 通过绑定资源组的方式指定资源组,详情请参见新建资源组。
- 通过Hint方式指定资源组,语法为:
- 通过OpenAPI提交Spark应用时,指定资源组的优先级从高到低为SET方式、绑定资源组。
- 通过Session级别的SET方式指定资源组,语法为:
SET resource_group = xxx;
。 - 通过绑定资源组的方式指定资源组,详情请参见新建资源组。
说明 如果通过未绑定资源组的账号提交Spark应用,且提交时未设置
SET resource_group = xxx;
,则报错提示“请指定资源组后再提交”。
- 通过Session级别的SET方式指定资源组,语法为: