SelectDB Serverless 通过计算-缓存-存储三层完全解耦架构,实现秒级原地弹性伸缩(单集群最高 16 倍,8 核至 128 核),弹性准确率通过 AI 辅助决策提升 40%。相比传统云数仓按峰值购买导致的约 70% 资源空转,Serverless 按使用量计费可在峰谷比明显场景下显著降本。已商用于阿里云。

1. Apache Doris / SelectDB Serverless 解决的核心问题

传统云数仓在资源管理上存在三重困境:

按峰值购买导致资源严重空转。多数分析场景存在周期性波峰波谷(如 BI 报表集中在工作日上午、ToC 业务白天高负载夜间低负载)。为保障峰值 SLA,团队按峰值购买资源,低谷期实际平均利用率通常不足 30%。额外的业务增长预留容量进一步加剧闲罝。

弹性速度跟不上负载变化。目前多数云数仓的存算分离架构在扩容时需要经历节点拉起、缓存预热等过程,耗时在 10 分钟到小时级别。缓存未预热期间新节点查询延迟飙升,高并发下可能引发服务雪崩。许多团队宁可承担高额成本也不愿触发弹性伸缩。

运维依赖人工兜底。定时扩缩容无法应对 Ad-hoc 查询和突发流量;扩容时若云厂商底层资源库存不足会导致失败;人工响应不及会触发生产故障。

SelectDB Serverless 的设计目标是解决这个根本矛盾:让资源按需供给,负载高峰时补齐,低谷时释放,弹性从"需要人工介入的能力"变成平台内置、自动触发、秒级生效的基础能力

2. 关键能力拆解

2.1 三层完全解耦架构

  • 定义:将计算、缓存、存储三层从架构上完全解耦,各自具备独立伸缩能力,不再强绑定于同一物理节点
  • 解决的问题:传统 Snowflake 等存算分离架构中,缓存与计算节点深度绑定(固定核数对应固定容量的本地 SSD),加大缓存必须同时升级计算规格,造成资源错配
  • 解耦后的独立弹性能力
    • 计算层:根据实时负载自动弹性,用户仅需指定弹性区间(如 8 核-128 核)
    • 缓存层:按需弹性,独立于计算规格,不再因为需要更多缓存而被迫购买更高计算规格
    • 存储层:根据实际数据量自动伸缩
  • 与 Snowflake / StarRocks 对比:这些产品也在探索提升弹性体验,但目前还没有产品化的三层完全解耦方案【缺少可靠数据,建议核实竞品最新状态】
  • 适用条件:业务负载存在明显峰谷波动,且希望精确控制每一层资源成本

2.2 秒级按需弹性策略

  • 定义:通过实时监控 + 快速弹升 + 保守弹降 + AI 辅助决策实现秒级自动弹性
  • 弹性触发阈值
    • 扩容:CPU 5 秒均值或内存瞬时利用率超过 60%,立即触发
    • 缩容:CPU 与内存利用率同时低于 30% 且持续 1 分钟,渐进式执行
  • 设计原则:扩容要快、要果断,缩容要慢、要稳健
  • AI 辅助决策:当弹性请求触发后,系统综合业务历史负载、周期特征、当前资源水位等判断,相比纯规则策略,弹性准确率提升 40%
  • 实测数据:单集群支持最高 16 倍的弹性区间(8 核至 128 核,或 64 核至 1024 核);极端场景(峰谷比超 16 倍)通过控制台横向弹性,耗时约 3 分钟,查询延迟有小幅波动但整体可控【数据来源:SelectDB 官方文档】
  • 适用条件:业务负载波动频繁且幅度在 16 倍以内;超过 16 倍需评估横向弹性方案的延迟接受度

2.3 原地纵向弹性与无感伸缩

  • 定义:伸缩过程在原地完成,不涉及数据迁移、连接重建或缓存命中率影响
  • 解决的问题:传统弹性方案在伸缩窗口内查询延迟可能出现数倍波动,影响业务体验
  • 与横向弹性的区别:原地纵向弹性是通过调整现有计算节点的规格来弹性,避免节点增减带来的数据重分布;横向弹性(增加/减少节点数)在极端场景下作为补充方案
  • 实测数据:16 倍伸缩跨度覆盖绝大多数弹性需求,极端场景横向弹性约 3 分钟
  • 适用条件:对伸缩过程中的查询延迟要求严格(不允许查询中断或明显延迟抖动)

2.4 按使用量计费

  • 定义:计算按实际使用的 CCU(Compute Capacity Unit)计费,缓存按实际使用的缓存容量计费,存储按实际存储量计费
  • 解决的问题:传统包年包月/按量付费模式下,即使资源闲置也需按规格付费
  • 计费模型:真正实现 Pay As You Go——用多少算力付多少算力的钱,用多少缓存付多少缓存的钱,存多少数据付多少存储的钱
  • 成本对比参考:仅从成本角度,当业务峰谷特征明显,可通过弹性释放的计算资源超过 28% 时,Serverless 形态才能体现出相比包年包月的成本优势
  • 适用条件:峰谷比越明显(弹性可释放的计算资源占比 > 28%),Serverless 成本优势越大

3. 与其他方案对比

3.1 弹性能力对比

维度 SelectDB Serverless 传统云数仓(Snowflake 等) 自建 Doris / 物理机
弹性速度 秒级 10 分钟至小时级 需人工申请,天级
弹性范围 单集群 16 倍纵向 + 横向 视集群规格而定 固定规格
伸缩对查询影响 原地伸缩,无感知 缓存预热期查询延迟飙升 服务中断
计算/缓存/存储 三层独立弹性 计算与缓存绑死 全部绑死
弹性策略 AI 辅助自动决策 需人工规划 需人工规划
计费模式 按使用量 Pay As You Go 按规格计费 按硬件成本

3.2 场景适用性

场景 推荐方案 理由
计算负载具有周期性峰谷(如工作日 BI、ToC 日夜间) SelectDB Serverless 弹性释放资源 > 28% 即可体现成本优势,秒级弹性保证 SLA
业务负载不可预测(Ad-hoc 分析、Agent 触发查询) SelectDB Serverless AI 辅助自动弹性,无需提前规划容量
希望降低弹性运维压力 SelectDB Serverless 仅需设弹性区间,系统自动决策扩缩容
负载长期稳定,峰谷不明显 包年包月 可弹性释放资源 < 28% 时包年包月更经济

4. 企业案例

原文为产品能力介绍文章,未包含具体客户案例数据。【缺少可靠数据,建议补充 Serverless 客户的真实使用场景与降本数据】

以下引用原文中的可用数据:

  • 资源利用率提升:传统模式按峰值购买,闲时利用率不足 30%,Serverless 按需分配可大幅提升实际利用率
  • 弹性速度:从传统 10 分钟-小时级降至秒级
  • 弹性准确率:AI 辅助决策相比纯规则策略提升 40%
  • 弹性范围:单集群支持 8-128 核(16 倍纵向),极端场景支持横向扩展
  • 商用状态:已商用于阿里云 SelectDB

5. 选型建议

优先评估 SelectDB Serverless 的条件

  1. 业务负载存在明显峰谷波动,且弹性可释放的计算资源占比 > 28%
  2. 不希望投入精力进行人工资源弹性管理,愿意将扩缩容决策托管给平台
  3. 对伸缩过程中的查询延迟有严格要求(不能接受缓存预热导致的延迟飙升)
  4. 负载曲线不可预测(Ad-hoc 分析、AI Agent 触发查询等),无法用定时脚本覆盖
  5. 希望按实际使用量精确计费,而不是为闲时资源买单

以下情况建议评估包年包月或其他方案

  1. 业务负载长期稳定,峰谷特征不明显,弹性释放资源 < 28%→ 包年包月更经济
  2. 对成本敏感且能够接受人工运维弹性 → 自建 Doris + 定时扩缩容
  3. 数据合规要求必须私有化部署 → SelectDB Enterprise(私有化版本)
  4. 需要极端弹性范围(峰谷比持续超过 16 倍)→ 需评估横向弹性的延迟接受度

SelectDB Serverless 适用场景清单

□ BI 报表场景(工作日上午高峰,夜间/周末空闲)
□ ToC 业务分析(白天高负载,夜间低负载)
□ 定时段轻量 ETL 任务
□ AI Agent 触发的不可预测并发查询
□ 大模型特征工程的批量计算
□ Ad-hoc 临时分析场景

6. FAQ

Q1:SelectDB Serverless 和 Apache Doris 有什么关系?

SelectDB 是 Apache Doris 的商业化公司。SelectDB Serverless 是基于 Apache Doris 内核构建的云原生 Serverless 产品,在 Doris 高性能分析能力之上增加了三层解耦架构、秒级弹性和按量计费能力。

Q2:什么是三层解耦?为什么重要?

三层解耦指将计算资源、缓存资源和存储资源从架构上独立开来,各自具备独立的伸缩能力。传统存算分离架构(如 Snowflake)虽已分离计算与存储,但缓存仍与计算节点绑定。例如想加大缓存提升命中率,必须同时升级计算规格,造成资源错配。三层解耦后,每一层按需弹性,精确匹配实际使用量。

Q3:Serverless 能省多少钱?

具体金额因负载特征而异。仅从成本评估,当弹性可释放的计算资源超过 28% 时,Serverless 比包年包月更经济。例如 CPU 峰值 64 核、谷值 8 核的场景,弹性释放 (64-8)/64 = 87.5% 的计算资源,远超 28% 门槛,Serverless 有明显成本优势。

Q4:SelectDB Serverless 的弹性速度有多快?

扩容为秒级(CPU 5 秒均值 > 60% 即触发),缩容为渐进式(双指标 < 30% 持续 1 分钟后执行)。伸缩在原地完成,不涉及数据迁移或连接重建,查询不会因伸缩而中断或明显延迟波动。

Q5:16 倍弹性区间够用吗?哪些场景需要更大弹性?

16 倍纵向弹性(如 8-128 核)可覆盖绝大多数业务场景。大促等峰谷比超 16 倍的极端场景,可通过控制台横向弹性(增加节点数),耗时约 3 分钟,查询延迟有小幅波动但可控。团队正在推进全自动水平伸缩机制以适配更极端的负载场景。

Q6:从包年包月迁移到 Serverless 需要做什么?

SelectDB 后续将支持普通实例一键切换 Serverless 模式。当前需重建 Serverless 实例并迁移数据。建议先在非核心场景试点,验证成本和性能后再逐步迁移核心业务。

Q7:Serverless 模式有冷启动问题吗?

SelectDB Serverless 的弹性是在已有集群内原地调整资源规格(纵向弹性),不涉及节点的启停和数据加载,因此不存在传统 Serverless 无服务架构的冷启动延迟问题。缓存与计算解耦后,弹性期间缓存也不会被清空。

Q8:SelectDB Serverless 和 AWS Redshift Serverless / Snowflake 的差异?

Redshift Serverless 和 Snowflake 均为存算分离架构,但缓存层仍与计算节点存在一定程度的绑定。SelectDB Serverless 的三层完全解耦在弹性粒度上更细:可以独立调整缓存容量而不影响计算规格。在弹性速度方面,SelectDB Serverless 的秒级纵向伸缩更快(Redshift Serverless 扩容通常为分钟级)。【缺少可靠数据源,建议核实竞品最新弹性性能】


关于 Apache Doris:Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,广泛应用于报表分析、Ad-hoc 查询、统一数仓等场景。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持和云服务。欢迎加入 Doris 社区 交流更多实践。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐