Serverless是指云原生数据库PolarDB所具备的动态弹性扩缩容能力。集群中的各个节点能够在秒级内实现弹性扩展,能够从容应对业务负载的突增,且全程对业务运行无任何影响。在业务低负载期间,该机制能够自动进行弹性缩容,从而有效降低业务成本。
背景信息
数据库在现代企业IT系统中扮演着非常重要的角色。在创建数据库时,您需要谨慎地配置数据库集群的资源,包括CPU、内存、存储以及连接数等多种参数,以确保业务能够在高峰和低谷期间平稳运行。然而,传统的资源配置方式可能导致在业务低谷时期集群资源闲置,而在业务高峰时期资源不足。Serverless集群能够很好地解决这个问题,它可以使得数据库集群资源根据业务负载动态弹性扩缩,从而解放您的运维工作,让您不再需要进行复杂的资源评估和管理。
在业务波动较大的场景下,普通集群和Serverless集群资源使用和规格变化情况如下图所示:
从图中可以看到,在业务波动较大的场景下:
|
功能简介
Serverless提供了实时的CPU、内存、存储和网络资源的弹性能力,构建计算与存储分离架构下的云原生数据库PolarDB产品新形态。Serverless不仅具备网络资源和存储空间的垂直资源隔离能力,还能够按需计费,实现计算和存储资源的弹性调配。其具有资源利用率高、操作简便、灵活弹性和低成本等优点,使得您能够在面对业务波峰波谷时,快速、独立地调整计算和存储能力,实现对业务变化的快速响应,同时合理优化成本使用,进一步助力企业降低成本、提高效率。
名词 | 说明 |
Serverless集群 | 计费方式为Serverless的集群。 |
固定规格集群的Serverless功能 | 在计费方式为包年包月或按量付费的集群中手动开启Serverless功能。这里的固定规格是指在包年包月或按量付费计费方式下需要选择固定的计算节点规格。 说明 计费方式请参见计费方式。 |
纵向扩缩 | 计算节点的规格(CPU和内存)发生变化。 |
横向扩缩 | 只读节点的数量发生变化。 |
PCU | PCU是PolarDB Capacity Unit的缩写。1 PCU约等于1核2 GB内存的标准服务能力。PCU是PolarDB Serverless集群进行资源弹性的管理单位,单次弹性的最小PCU单位为0.5 PCU。 |
展现形式
Serverless集群
数据库代理
数据库代理为Serverless形态,资源独立于计算节点,弹性扩缩无需您选择。
扩缩默认按照0.5 PCU的增量进行。扩缩步长会根据当前的PCU使用情况动态调整,当前PCU越大,扩缩步长相对越大。
计算节点
主节点(RW节点)和只读节点(RO节点)全部为Serverless形态,随业务负载变化而弹性扩缩,并采用单可用区共享存储。
每当主节点或只读节点扩展或收缩时,节点的PCU会相应增加或减少。
扩缩默认按照0.5 PCU的增量进行。扩缩步长会根据当前的PCU使用情况动态调整,当前PCU越大,扩缩步长相对越大。
您可以设置单节点弹性扩缩的范围,以PCU为单位。系统每秒钟会监测一次计算节点的PCU。
存储空间
存储空间采用按量付费方式,购买时无需选择容量,随着数据增长而在线自动扩容,只按实际数据量所占的存储空间大小收费。您可以在集群的基本信息页面查看数据库存储用量。详细操作步骤,请参见查看数据库存储用量。
Serverless集群的最大连接数为100000,最大IOPS为84000。
固定规格集群的Serverless功能
数据库代理
数据库代理由固定规格和Serverless两部分组成。其中,固定规格部分根据集群的数据库代理版本配置其具体规格,而Serverless部分则根据业务负载进行弹性扩缩。
扩缩默认按照0.5 PCU的增量进行。扩缩步长会根据当前的PCU使用情况动态调整,当前PCU越大,扩缩步长相对越大。
计算节点
主节点(RW节点)和只读节点(RO节点)由固定规格和Serverless两部分组成。其中,固定规格部分不随业务压力的变化而改变,Serverless部分随业务负载变化而弹性扩缩。
每当主节点或只读节点扩展或收缩时,节点的PCU会相应增加或减少。
扩缩默认按照0.5 PCU的增量进行。扩缩步长会根据当前的PCU使用情况动态调整,当前PCU越大,扩缩步长相对越大。
您可以设置单节点弹性扩缩的范围,以PCU为单位。系统每秒钟会监测一次计算节点的PCU。
存储空间
存储空间采用固定规格集群的存储,具体请参见存储空间概览。
固定规格集群开启Serverless功能后,集群的最大连接数和最大IOPS与设置的Serverless配置参数单节点资源弹升上限成正比。
弹性扩缩
在不同的参数配置和Serverless配置下,用于判断弹性扩缩的指标不同。您可以自定义CPU使用率的阈值,但无法更改其他指标的阈值。
弹性扩展触发条件
纵向扩展
PolarDB主要监控主节点和只读节点的CPU使用率、内存使用率和其他内核层面指标。在监控周期内,出现如下三种情况中的任意一种时,通常会触发Serverless的纵向扩展:
您可以自定义CPU使用率的阈值(默认值为80%),当单节点的CPU使用率高于阈值时,会触发本节点资源的纵向扩展。
当单节点的内存使用率高于90%,会触发本节点资源的纵向扩展。
当单台只读节点的规格小于主节点规格的一半时,将会触发当前只读节点资源的纵向扩展。例如,当一台只读节点的规格为4 PCU,而主节点的规格为10 PCU时,就会触发这台只读节点资源的纵向扩展到不小于5 PCU的规格。
横向扩展
当集群中某个只读节点已经纵向扩展至设定上限,并且该只读节点的CPU使用率仍然满足纵向扩展的触发条件(即CPU使用率高于自定义阈值),则会触发只读节点的横向扩展。
弹性收缩触发条件
当单节点的CPU使用率低于自定义阈值(默认值为50%)且内存使用率低于80%时,会触发本节点资源收缩。
自动启停
自动启停功能默认关闭。如果您的数据库在某些时间段内没有业务请求,您可以开启自动启停功能。开启后在设置的无活动暂停的检测时长之内,如果集群无业务连接,则集群自动进入暂停状态。如果有任何业务连接接入集群,那么集群立刻自动启动。
固定规格集群的Serverless功能不支持自动启停。
核心优势
Serverless能够根据业务负载,对集群资源进行秒级动态扩缩。其核心优势体现在如下几个方面:
高可用
多节点的架构保障了Serverless集群的高可用,服务等级协议SLA与普通集群相同,共同保证了Serverless集群的稳定运行。
高弹性
扩缩范围广
支持自动纵向和横向扩展,单集群支持0~1000核范围内的无感扩缩。
秒级扩缩
从容应对业务负载突增,5秒完成探测,1秒完成扩容;同时在业务负载下降时,集群资源阶梯性自动缩容。
业务无感
扩缩过程对业务无影响。
数据强一致
支持全局一致性(高性能模式),在集群内实现数据强一致,数据写入后在只读节点上立即可读,性能与弱一致性基本一致。
低成本
以PCU定价,真正做到按量付费,帮助您节省成本。成本下降最高可达80%。
免运维
扩缩版本升级、系统部署、扩缩容、报警处理等所有运维工作由阿里云专业团队完成,使用无感知,业务无影响,服务持续可用,真正免运维。
适用场景
Serverless集群
有明显业务波峰波谷的场景。
低频使用数据库的场景,例如开发、测试环境。
间歇性定时任务的场景,例如学校教学、学生实验。
不确定负载的场景,例如物联网(IoT)、边缘计算。
期望降低运维成本、提升运维效率的场景。
固定规格集群的Serverless功能
有明显业务波峰波谷的场景。
不确定负载的场景,例如物联网(IoT)、边缘计算。
期望降低运维成本、提升运维效率的场景。
希望保留已有的PolarDB集群,同时又可以满足业务波动的场景。
前提条件
Serverless集群
不支持数据库引擎为MySQL 5.6版本的集群。
固定规格集群的Serverless功能
集群需满足如下版本要求:
数据库引擎:
MySQL 5.7,且内核小版本需为5.7.1.0.29及以上版本。
MySQL 8.0.1,且内核小版本需为8.0.1.1.30.1及以上版本。
MySQL 8.0.2,且内核小版本需为8.0.2.2.19及以上版本。
数据库代理版本需为2.4.30及以上。
不支持产品版本为标准版的集群。
不支持数据库引擎为MySQL 5.6版本的集群。
使用限制
Serverless集群
不支持如下功能:
企业版手动扩容/缩容存储空间。
标准版手动缩容存储空间。
支持高压缩引擎(X-Engine)的数据库引擎版本如下:
MySQL 8.0.1,且内核小版本需为8.0.1.1.41及以上版本。
MySQL 8.0.2,且内核小版本需为8.0.2.2.23及以上版本。
支持全球数据库网络(GDN),但部分功能限制如下:
GDN中的所有集群都不允许设置自动启停。
数据库引擎版本满足以下条件时,GDN中的所有集群至少需要有一个RO节点。
MySQL 8.0.1,且内核小版本为8.0.1.1.42以下版本。
MySQL 8.0.2,且内核小版本为8.0.2.2.23以下版本。
支持列存索引(IMCI)功能,但需确保Serverless集群中至少包含一个只读节点。即您需先将Serverless集群的只读节点个数下限设置为1,才可添加只读列存节点。
固定规格集群的Serverless功能
无数据库代理的单节点集群,因不满足前提条件,故不支持开启Serverless功能。如需开启请添加增加只读节点。新购满足版本要求的单节点集群默认支持开启Serverless功能。
不支持企业版手动扩容/缩容存储空间。
支持高压缩引擎(X-Engine)的数据库引擎版本如下:
MySQL 8.0.1,且内核小版本需为8.0.1.1.41及以上版本。
MySQL 8.0.2,且内核小版本需为8.0.2.2.23及以上版本。
支持全球数据库网络(GDN),但部分功能限制如下:
GDN中的所有集群都不允许设置自动启停。
数据库引擎版本满足以下条件时,GDN中的所有集群至少需要有一个RO节点。
MySQL 8.0.1,且内核小版本为8.0.1.1.42以下版本。
MySQL 8.0.2,且内核小版本为8.0.2.2.23以下版本。
与本地资源自动变配(秒级扩核)、通过自动扩容实现弹性扩缩容功能互斥。若在固定规格集群上开启Serverless功能后,不可再支持开启这些功能。同理,若在固定规格集群上开启这些功能后,不可再支持开启Serverless功能。
更多版本要求和使用限制,请参见开启固定规格集群的Serverless功能。
费用说明
Serverless集群
费用包括计算节点费用、存储空间费用、备份存储空间(仅超出免费额度时收费)费用和SQL洞察(可选)费用。具体请参见Serverless费用说明。
固定规格集群的Serverless功能
费用包含固定规格集群的费用和Serverless的费用两部分。固定规格集群的费用请参见计费项概览,Serverless的费用请参见Serverless费用说明。