Serverless是云数据库 SelectDB 版推出的一种无需管理服务器、按需付费的资源自动弹性伸缩能力。Serverless根据实际负载自动伸缩计算与缓存资源,并按实际使用量付费,能够解决业务高峰期因资源不足导致的查询性能瓶颈等问题,以及降低业务低谷期因资源闲置产生的成本浪费,让您能专注于数据处理和分析等业务工作。本文为您介绍Serverless的创建与管理相关操作。
自动弹性伸缩
资源使用对比
当业务波动较大时,云数据库 SelectDB 版普通实例和Serverless实例的计算资源规格变化情况如下。
从图中可以看出:
|
适用场景
业务负载有明显业务波峰波谷的分析场景。例如,BI报表生成、用户行为分析,其访问量和计算负载具有显著的周期性。
期望降低运维负担与资源成本。例如,业务快速增长或负载不明确的企业,期望能提升运维效率、降低资源成本,更敏捷地响应业务需求。
临时性数据任务。例如,开发测试环境,其资源使用频率较低;或者不可预测的数据分析任务,无法预估查询复杂度以及资源消耗量。
弹性伸缩机制
在云数据库 SelectDB 版Serverless中,弹性伸缩机制是实现资源按需分配和成本优化的核心能力。它由内置的弹性规则和您设定的资源弹性范围共同决定。通过将预定义的弹性规则与业务负载指标(如CPU使用率、内存使用率等)相结合,弹性伸缩机制能够智能判断何时需要增加或减少资源。这种动态调整确保了在业务高峰期提供充足的资源支持,同时在低谷期自动释放闲置资源,从而降低成本并提升资源利用率。
在配置云数据库 SelectDB 版Serverless弹性伸缩机制前,您需要先了解云数据库 SelectDB 版实例的几个核心组件:
组件 | 说明 |
实例入口 | 负责接收请求。由云数据库 SelectDB 版托管并按需弹性伸缩,您无需管理。 |
集群 | 负责实际请求执行的分布式系统,每个集群内包含一个或多个BE节点,每个节点包含计算资源和缓存资源。 |
存储 | 按照实例维度,提供给用户存储数据服务对应的存储资源,以GB为单位,按需弹性使用,无需管理。 |
云数据库 SelectDB 版一个实例可包含多个集群,由于不同业务的负载模式和弹性需求各不相同,云数据库 SelectDB 版Serverless支持为每个集群单独设置弹性伸缩范围,实现更细粒度的资源管理和成本控制。集群内的弹性伸缩机制主要包含计算资源和缓存资源的配置规则,具体配置方法介绍如下。
计算资源
单位
SCU(SelectDB Computing Unit):云数据库 SelectDB 版Serverless产品计算弹性资源单位。1 SCU对应1核4 GB内存的服务能力。
弹性规则
弹性规则
触发条件
弹性策略
BE弹升
满足以下任一条件:
CPU使用率在5秒内的平均值超过60%
内存使用率在1秒内超过60%
资源弹升至MIN(触发弹升的资源实际使用量除以45%,预设的SCU弹性上限)。
BE弹降
同时满足以下条件,并持续1分钟:
CPU使用率<30%
内存使用率<30%
资源弹降至MAX(触发弹降的资源实际使用量除以45%,预设的SCU弹性下限),以1 CCU的步长逐步弹降。
设置弹性区间
集群基于弹性规则进行自动升降,为避免因不合理的大请求导致资源持续弹升或成本失控,支持设置节点个数和节点规格控制集群伸缩范围。
节点个数:支持自定义节点个数。增加或减少集群节点,请求可能会路由到新节点,导致部分缓存命中率下降和查询性能抖动。
节点规格:支持设置单计算节点的弹性上限与下限,垂直变配时,在此区间内进行集群升降。
缓存资源
单节点缓存容量:支持设置单节点的缓存大小,100 GB≤单节点缓存容量≤10 TB。
集群缓存容量:集群缓存容量=单节点缓存*节点数。当集群节点个数变化时,集群缓存容量联动变化。
相关文档
创建与管理Serverless,请参见Serverless使用。