AnalyticDB for MySQL的 Serverless Auto-Scaling 资源组采用强制存算分离架构,支持 min-max 弹性伸缩和查询级资源隔离。您只需配置最小(min)与最大(max)计算规模,min 部分为预留资源保证基线能力,min 到 max 之间由系统按查询负载自动扩缩,在大并发场景下显著提升查询吞吐与稳定性。
产品简介
核心能力
能力 | 说明 |
强制存算分离 | 计算与存储在节点层面分离,存储节点不参与查询的计算执行,架构更清晰、弹性更灵活。 |
min-max 弹性 + 预留 | 您配置最小(min)与最大(max)计算规模。min 部分为预留资源,保证基线能力;min 到 max 之间由系统按负载自动扩缩,无需为峰值手动拉满规格。 |
查询级资源隔离 | 每条查询拥有独立资源配额,减少相互干扰,大并发下延迟更稳定、吞吐更高。 |
免运维 | min-max 范围内的扩缩由系统根据负载自动调节,无需日常手动扩缩。 |
总体架构
Auto-Scaling 资源组采用 Region 级别跨可用区部署:带状态元数据的多租服务组件采用三副本容灾,执行查询的节点具备动态弹性扩展和 Failover 能力。支持 0 资源预留——无需管控预先拉起任何节点,您开通资源组即可投递查询。
特性 | 说明 |
AZ 容灾 | Region 内划分多个 Deployment,隔离不同租户群体,有效控制故障爆炸半径。Deployment 内多租服务采用三 AZ 部署,可用区故障可快速逃逸自恢复。 |
高可用 | SQL 执行链路中的 Coordinator、Executor 节点具备 Failover 能力。核心的资源申请和服务发现元数据剥离到独立的 Executor Control Service 和 Discovery Service,单个 Coordinator 或 Executor 节点掉线影响面最小化。 |
高性能 | 默认采用实例可用区亲和的资源调度策略。Coordinator(任务调度节点)和 Executor(任务执行节点)均可自适应弹性扩展。Assignment Service 负责 Coordinator 的自动伸缩和负载均衡路由;Executor Control Service 负责 Executor 节点的自动伸缩和资源申请代理。 |
Auto-Scaling 资源组与存算一体资源组的关系
Auto-Scaling 资源组(存算分离)与存算一体资源组并非对立关系,而是可以共存互补。
本文中的“存算一体资源组”指企业版在购买集群时指定的预留存储资源。企业版购买时可指定预留存储(即存算一体资源组),后续还可新建多个存算分离的 Auto-Scaling 资源组。因此典型用法为 1 个存算一体资源组 + N 个 Auto-Scaling 资源组。当您需要利用存算分离、min-max 弹性或查询级隔离能力时,再额外创建 Auto-Scaling 资源组即可。
类型 | 架构特点 | 适用场景 |
Auto-Scaling 资源组 | 强制存算分离:计算与存储节点拆开,支持 min-max 弹性(min 预留,min 到 max 按负载自动扩缩)。 | 希望计算与存储独立扩缩、利用 min-max 弹性应对波峰波谷,或需要查询级隔离与大并发吞吐的场景。 |
存算一体资源组 | 存算一体:存储节点直接参与计算,计算负载无法独立扩展节点。 | 希望存储与计算紧耦合、对数据本地性有强依赖或偏好存算一体部署形态的场景。 |
您可以根据业务对存算架构与弹性的需求,在控制台将不同业务的数据库账户绑定到不同的资源组,具体请参见绑定数据库账号。将查询路由到 Auto-Scaling 资源组后,即可使用存算分离架构与 min-max 弹性、查询级隔离能力。
适用场景
场景 | 常见痛点 | 使用 Auto-Scaling 资源组后 |
查询极低频、无需预留计算 | 查询执行非常少,不愿为少量查询预留任何计算资源。 | 支持 per-Query 弹性:不预留或极低 min,首个查询到达时自动弹起计算,查询结束后自动缩容,相当于按查询按量付费。 |
资源闲置、成本浪费 | 为应对偶发大查询或高峰而预留过多资源,大部分时间闲置。 | 仅需预留 min 部分保证基线,min 到 max 之间按负载弹性扩缩,超出 min 的部分按实际使用计费。 |
突发或高峰资源不足 | 临时导数据、报表或大 SQL 并发增加后排队、超时甚至失败。 | 系统自动扩容至 max 以内,无需临时升配或手动拉满规格。 |
大查询 OOM 或性能抖动 | 实例规格有限,大 SQL 易 OOM,或与在线查询抢资源导致响应不稳定。 | 大查询在弹性资源组内执行,查询级资源隔离 + 自动扩规模,成功率和稳定性明显提升。 |
大并发下吞吐上不去 | 多查询共享同一批资源,相互争抢,延迟抖动、整体吞吐受限。 | 查询级资源隔离降低争抢,大并发压力下查询吞吐与稳定性更好。 |
运维与容量规划负担重 | 需要根据业务峰值做容量规划、频繁手动扩缩容。 | 由系统按负载自动调节,免容量规划与日常扩缩操作。 |
Auto-Scaling工作机制
大小查询混合负载
Auto-Scaling 资源组支持大查询与小查询同时投递,通过内置小查询分类器区分两类负载并走不同执行路径:
查询类型 | 是否经过资源评估/申请 | 调度方式 |
小查询 | 否(bypass) | 按节点视图直接调度。 被分类为小查询时,绕过资源评估与资源申请链路,直接基于物理节点视图与负载信息,由 Coordinator 均衡调度到物理节点上执行,无需占用Executor节点 Quota,延迟更低。 |
大查询 | 是 | 先申请Executor节点 Quota 再调度。 经资源评估得到所需资源 Quota 后,向 Executor Control Service 发起资源申请,在Executor节点上获得独立资源 Quota 再执行。大查询之间 CPU 资源相互隔离,内存使用受 Quota 控制,避免单条大查询 OOM 或拖垮节点影响其他查询。 |
弹性策略
min-max 弹性:您配置最小(min)与最大(max)计算规模。min 部分为预留资源,保证基线能力;min 到 max 之间由系统按负载自动扩缩。
扩缩依据:系统根据大查询复杂度、查询队列深度、Executor 节点 CPU/内存等物理资源水位自动决策,无需手动干预。
响应速度:扩容与缩容在秒级到分钟级内生效。
负载隔离与并发
查询级资源隔离:每条大查询享有独立资源配额,Executor 侧保障资源实际交付,显著减少多查询间的资源争抢与性能抖动,在大并发压力下提升查询吞吐与稳定性。
并发控制:Auto-Scaling 资源组下,系统稳定性对Interactive型资源组的优先级队列与并发数这类配置不再敏感。小查询有自适应流控,随节点物理资源负载自适应调整并发。大查询并发由查询执行前的资源估算与资源申请自然控制,无需额外配置。建议设置较为宽松的查询队列并发数(例如 100),以充分利用弹性能力应对突发流量。
前提条件
集群内核版本为3.2.7及以上。
说明请在云原生数据仓库AnalyticDB MySQL控制台集群信息页面,配置信息区域,查看和升级内核版本。
目前Serverless Auto-Scaling 资源组当前通过白名单方式开放,仅支持部分地域。如需使用,或需在其他地域开通此功能,请提交工单联系技术支持申请开通。
使用限制
不兼容的内核功能:Auto-Scaling 资源组当前不支持以下功能,使用时请选用其他资源组类型。
XUANWU_V1 存储引擎动态分区导入(分区表跨多分区的 INSERT OVERWRITE 任务),查询执行会报错。建议迁移目标表到 XUANWU_V2引擎。
Paging Cache(深分页性能优化)(深分页性能优化),查询执行会报错“Resource group [xxx] is empty”。
Work Load Manager(WLM 命令与工作负载管理规则),配置的规则无法生效。
XUANWU 系列存储引擎增量物化视图,查询执行会报错。
推荐负载:Ad-hoc 查询、报表、ETL 等分析型负载。
不推荐场景:对延迟极敏感、必须固定规格的在线服务,或依赖固定执行计划、强数据本地性的写入/点查等场景,建议使用存算一体资源组。
配额与限制:单资源组、单账号的规模上限与并发上限以控制台及当前版本文档为准。
计费说明
资源类型 | 说明 |
预留资源(min 部分) | 按常驻 ACU 计费。 |
弹性资源(min 到 max 部分) | 按实际使用的弹性 ACU 时计费。 |
您可以配置 max 控制弹性上限,若当前集群版本支持用量上限或预算告警,您可设置告警避免超支。更详细的计费项、单价与账单说明,请参见计费概述。
如何使用Auto-Scaling资源组
创建Auto-Scaling 类型的资源组。
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,然后单击目标集群ID。
在左侧导航栏,单击集群管理>资源管理,单击资源组管理页签。然后在资源组列表的右上角,单击新增资源组。
在新增资源组对话框中,设置以下信息。
资源组名称:为资源组命名。
任务类型:选择SQL。
弹性策略:选择Autoscaling。
最小ACU和最大ACU:最小ACU部分为预留资源,保证基线能力;最小ACU和最大ACU之间由系统按负载自动扩缩。
单击确定。
将需要弹性与隔离能力的数据库账号绑定到该资源组。
在目标资源组所在行操作列,单击
,然后单击绑定用户。在用户名下拉列表中选择数据库账号,单击绑定用户,并在弹出的确认绑定用户对话框中单击确定。
说明如果下拉列表为空,说明您还没有创建数据库账号,请先创建账号,具体步骤请参见创建数据库账号。
更多信息,请参见绑定或解绑数据库账号。
附录:Auto-Scaling资源组与其他资源组的区别
Auto-Scaling 资源组与 Job 资源组、预留资源组、Multi-Cluster 资源组均为存算分离架构,主要差异在弹性策略、并发与隔离方式、计费模式。
对比项 | Auto-Scaling 资源组 | Job 资源组 | 预留资源组 | Multi-Cluster 资源组 |
弹性方式 | 支持 on-demand 弹性(按需弹起与缩容,0 预留可达查询按量付费效果);也支持响应式弹性,预留资源利用率较高时自动扩容。 | 按任务/作业调度,计算随任务生命周期申请释放。 | 固定预留规格,无自动弹性,需用户配置弹性计划。 | 按副本弹性,根据查询队列长度、节点资源利用率评估扩容。 |
弹性资源量是否随查询自适应 | 支持。通过查询复杂度评估所需资源量,最小步长 16 ACU,单查询可结合使用预留资源与弹性资源。 | 不支持。弹性资源量由用户手动设定。 | 不涉及弹性。 | 不支持。按副本弹性,手动配置的基础资源量决定弹性步长,不随查询自适应,单查询最多使用一个资源组副本。 |
并发与隔离 | 查询级资源软隔离,资源估算 + 资源申请自然控并发。不依赖优先级队列与队列并发数配置。 支持任务调度节点(Coordinator)隔离。 | 查询级资源硬隔离,以作业为粒度弹性拉起节点,节点不能跨查询复用,作业并发受限于设定的 max ACU。 不支持任务调度节点隔离。 | 多查询共享预留资源,依赖查询队列等做并发控制。 不支持任务调度节点隔离。 | 多查询共享一个资源组副本,依赖查询队列控制单资源组副本的并发数上限。 支持任务调度节点隔离。 |
计费 | 常驻资源 + 弹性资源(分钟粒度的 ACU 时)。 | 按任务/作业的弹性资源时长计费。 | 按预留的计算资源计费。 | 常驻资源 + 弹性资源(分钟粒度的 ACU 时)。 |
选型建议:Auto-Scaling 资源组具备自适应弹性、查询级隔离能力,可完全替代以往的预留资源组、Job 资源组、Multi-Cluster 资源组。