Serverless数据库能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。本文介绍了Serverless的工作原理、核心优势和适用场景。
背景
数据库是现代企业IT系统中非常重要的一部分。在创建数据库时,客户往往需要比较保守地去配置数据库集群的资源,包括CPU、内存、存储以及连接数等多种参数配置,以确保业务能够在波峰和波谷都能平稳运行。在这种情况下,客户购买的集群资源在业务波谷时期会被闲置,导致整体成本偏高;而在业务压力增长阶段,集群资源又应对不足。Serverless数据库可以很好地解决这个问题。它能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放来。
在业务波动较大的场景下,普通集群和Serverless集群资源使用和规格变化情况如下图:
由上图可以看到,在业务波动较大的场景下:
普通集群:在波谷期浪费的资源较多,在高峰期资源不足,业务可能受损。
Serverless集群:
由于其规格随业务需求量随时调整,总体浪费的资源很少,提升了资源利用率,降低了资源使用量。
可以快速完成集群资源扩缩,在高峰期也能完全满足业务需求,保证业务不受损,提高了系统的稳定性。
打破固定资源付费模式,真正做到了负载与资源动态匹配的按量付费模式,可节省大量成本。
对高吞吐写入场景和高并发业务场景进行了设计优化,同时提供了弹性扩缩能力,适合业务数据量大、并具有典型的业务访问波峰波谷场景。
无需手动变配,提高了运维效率,提升了运维管理人员和研发人员的幸福感。
工作原理
PolarDB PostgreSQL版 Serverless提供了CPU、内存、存储、网络资源的实时弹性能力,构建计算与存储分离架构下的 PolarDB PostgreSQL版产品新形态。Serverless不仅提供网络资源、命名空间、存储空间的垂直资源隔离能力,还提供计算存储资源按需计费的能力,具有资源用量低、简单易用、弹性灵活和价格低廉等优点,为用户提供在业务高峰和低谷期间快速且自主调整计算和存储资源的能力,做到快速响应业务变化的同时,合理优化使用成本,进一步助力企业降本增效。
名词解释
纵向扩缩:指节点的性能(CPU和内存的规格)发生变化。
横向扩缩:指只读节点的数量发生变化。
Serverless 资源弹性扩缩触发条件
资源弹性扩展触发条件
纵向扩展触发条件
PolarDB 主要监控主节点和只读节点的CPU使用率、内存使用率和其他内核层面指标。在监控周期内,出现如下三种情况中的任意一种时,通常会触发Serverless资源纵向扩展:
当单节点的CPU使用率高于85%,会触发本节点资源扩展。
当单节点的内存使用率高于85%,会触发本节点资源扩展。
横向扩展触发条件
当只读节点已经纵向扩展到设定上限,集群中现有的只读节点的CPU使用率或内存使用率仍然满足纵向扩展的条件(CPU使用率高于85%或内存使用率高于85%),则会触发只读节点的横向扩展。
资源弹性收缩触发条件
当单节点的CPU使用率低于55%且内存使用率低于40%时,会触发本节点资源收缩。
以上阈值指标为默认值,在不同集群内核参数及不同Serverless配置策略下,会有所调整。
Serverless集群
Serverless集群的技术架构图
Serverless集群 Proxy
Serverless Proxy为Serverless形态,Proxy资源独立于计算节点弹性扩缩,无需用户选择。Serverless Proxy的计量单位是PCU,1个PCU约等于1核2 GB的资源,0.5个PCU约等于0.5核1 GB的资源。
Serverless集群计算节点扩缩
主节点(RW节点)和只读节点(RO节点)全部为Serverless形态,随业务负载变化而弹性扩缩,并采用单可用区共享分布式存储。
Serverless 集群计算节点的计量单位是PCU,1个PCU约等于1核2 GB,0.5个PCU约等于0.5核1 GB的资源。扩缩按照0.5 PCU的增量进行,当前PCU越大,扩缩步长相对越大。
您可以通过PCU指定单节点弹性扩缩的范围,单节点的扩缩范围为1~32 PCU。每当主节点或只读节点扩缩时,节点的PCU会随之增加或减少。系统每秒钟会监测一次计算节点的PCU。
Serverless集群存储
存储空间采用Serverless方式,购买时无需选择容量,随着数据增长而在线自动扩容,只按实际数据量所占的存储空间大小收费。您可以在集群的基本信息页面查看数据库存储用量详情。详细操作步骤,请参见查看数据库存储用量。
费用
费用包括计算节点费用、存储空间费用、备份存储空间(仅超出免费额度时收费)费用和SQL洞察(可选)费用。具体请参见Serverless费用说明。
PolarDB PostgreSQL版Serverless正式版上线后,每个阿里云账号可以享受10次新购Serverless集群前三个月免费使用活动,使用时间满3个月或集群数据量超过100 GB后,享受4折的优惠活动。详细介绍请参考【上线】PolarDB PostgreSQL版Serverless公测活动结束,正式版上线。
核心优势
PolarDB PostgreSQL版 Serverless能够根据业务负载,对集群资源进行秒级动态弹降。其核心优势体现在如下几个方面:
高可用
多节点的架构保障了Serverless集群的高可用,共同保证了 Serverless集群的稳定运行。
高弹性
扩缩范围广:支持自动纵向和横向扩展。
秒级扩缩:从容应对业务负载突增,5秒完成探测,1秒完成扩展;同时在业务负载下降时,集群资源阶梯性自动释放。
数据强一致
支持高性能模式的全局一致性,在集群内实现数据强一致,数据写入后在只读节点上立即可读,性能与弱一致性基本一致。
低成本
以计算能力(PCU)定价,真正做到按量付费,帮助客户节省成本。成本下降最高可达 80%。
免运维
版本升级、系统部署、扩缩容、报警处理等所有运维工作由阿里云专业团队完成,用户无感知,业务无影响,服务持续可用,真正免运维。
适用场景
Serverless 集群的适用场景包括:
开发、测试环境等低频数据库使用场景。
中小企业建站服务等SaaS应用场景。
个人开发者用户。
学校教学、学生实验等教育场景。
物联网(IoT)、边缘计算等不确定负载场景。
流量有波动或业务上存在不可预测性。
使用限制
仅支持 PolarDB PostgreSQL版 14.0 版本。
Serverless 集群不支持一站式HTAP服务。
Serverless 集群不支持新增自定义集群地址功能。
Serverless 集群不支持手动添加节点、手动变配功能。
视频介绍
免费体验
阿里云提供了数据库解决方案功能体验馆。您无需购买任何资源,即可在线测评 PolarDB PostgreSQL版 Serverless 的动态弹性效果。
您可前往PolarDB PostgreSQL Serverless弹性&价格力观测进行体验,详情请参见免费体验PolarDB PostgreSQL Serverless极致弹性。