Serverless数据库能够使得数据库集群资源随客户业务负载动态弹降,将客户从复杂的业务资源评估和运维工作中解放出来。本文介绍了Serverless的工作原理、核心优势和适用场景。
数据库是现代企业IT系统中非常重要的一部分。在创建数据库时,客户往往需要比较保守的去配置数据库集群的资源,包括CPU、内存、存储以及连接数等多种参数配置,以确保业务能够在波峰和波谷都能平稳运行。在这种情况下,客户购买的集群资源在业务波谷时期会被闲置,导致整体成本偏高;而在业务压力增长阶段,集群资源又应对不足。Serverless数据库可以很好的解决这个问题。它能够使得数据库集群资源随客户业务负载动态弹降,将客户从复杂的业务资源评估和运维工作中解放出来。

- 普通集群:在波谷期浪费的资源较多,在高峰期资源不足,业务受损。
- Serverless集群:
- 由于其规格随业务需求量随时调整,总体浪费的资源很少,提升了资源利用率,降低了资源使用量。
- 在高峰期也能完全满足业务需求,保证业务不受损,提高了系统的稳定性。
- 打破固定资源付费模式,真正做到了负载与资源动态匹配的按量付费模式,可节省大量成本。
- 无需手动变配,提高了运维效率,提升了运维管理人员和研发人员的幸福感。
- 支持自动启停能力。当没有连接时,集群自动暂停,释放计算成本;当请求到来时,集群自动无感启动。
- 对高吞吐写入场景和高并发业务场景进行了设计优化,同时提供了弹性伸缩能力,适合业务数据量大、并具有典型的业务访问波峰波谷场景。
工作原理
- 打破固定资源付费的模式,做到真正负载与资源动态匹配的按量付费,可节省大量成本。
- 对高吞吐写入场景和高并发业务进行了设计优化,同时提供了弹性伸缩能力,适合业务数据量大、并具有典型的业务访问波峰波谷场景。
- 1秒内即可完成集群资源扩缩容,业务完全无感。

- Serverless Proxy
Serverless Proxy独立于计算节点弹性伸缩,Proxy规格无需用户选择。它的计量单位是PCU,每个PCU约等于1核2 GB。
- Serverless集群配置
您可以创建Serverless集群,而无需为每个计算节点指定固定的节点规格。您只需要指定只读节点个数的伸缩上限,与单节点PCU的伸缩范围。PolarDB会在设置的范围内自动扩缩集群中的每个Serverless的主节点或只读节点。具体操作请参见创建Serverless集群。
- Serverless容量PCU
Serverless容量的计量单位是PCU,每个PCU约等于1核2 GB。您可以通过PCU指定单节点弹性伸缩的范围,单节点的伸缩范围为1~32 PCU。每当主节点或只读节点扩缩时,节点的PCU会随之增加或减少。系统每秒钟会监测一次节点的PCU。
- Serverless扩缩
对于每个Serverless集群的主节点或只读节点,PolarDB会持续跟踪 PCU的使用率。当主节点或只读节点的当前PCU太低而无法处理业务负载时,Serverless集群会将其扩展到更高的PCU;当主节点或只读节点的当前PCU高于所需的PCU时,可以将主节点或只读节点缩减至更低的PCU。Serverless集群中的每个节点可以独立进行扩缩,其中一个只读节点必须和主节点同时扩缩:当只读节点和主节点规格差异过大时,会触发只读节点的弹升弹降。扩缩按照0.5 PCU的增量进行,当前PCU越大,扩缩步长相对越大。
费用
Serverless集群的费用包括计算节点费用、数据库代理费用、存储容量费用、备份存储空间(仅超出免费额度时收费)费用和SQL洞察(可选)费用。具体请参见Serverless费用说明。
核心优势
- 高可用
多节点的架构保障了Serverless集群的高可用,服务等级协议SLA与普通集群相同,共同保证了Serverless集群的稳定运行。
- 高弹性
PolarDB for MySQL是业内Serverless支持自动弹升范围最广的云数据库,支持自动横向扩容,单集群支持0~1000核范围内的无感伸缩。可以从容应对业务负载突增,实现集群资源秒级弹升;同时在业务负载下降时,实现集群资源阶梯性自动释放。
- 数据强一致
支持高性能模式的全局一致性,在集群内实现数据强一致,数据写入后在只读节点上立即可读,性能与弱一致性基本一致。
- 低成本
以计算能力(PCU)定价,真正做到按量付费,帮助客户节省成本。成本下降最高可达80%。
- 免运维
弹升版本升级、系统部署、扩缩容、报警处理等所有运维工作由阿里云专业团队完成,用户无感知,业务无影响,服务持续可用,真正免运维。
适用场景
- 开发、测试环境等低频数据库使用场景
- 中小企业建站服务等SaaS应用场景
- 个人开发者用户
- 学校教学、学生实验等教育场景
- 物联网(IoT)、边缘计算等不确定负载场景
- 业务有波动或不可预测的用户
使用限制
- 当前仅PolarDB for MySQL 8.0.1版本支持Serverless。
- Serverless不支持存储热备集群,无可用区级别的容灾能力,不可进行可用区切换。
- Serverless不支持全球数据库网络GDN、冷数据归档、多主集群(库表)、高压缩引擎(X-Engine)、列存索引(IMCI)功能。
- Serverless不支持手动增加或删除节点、手动变配或临时变配、秒级扩核、自动扩容和创建自定义集群地址等功能。