文章插图
1. 前言Gartner预测到2023年,全球3/4的数据库都会跑在云上,云原生数据库最大的优势之一便是天然拥有云计算的弹性能力,数据库可以像水、电、煤一样随取随用,而Autosaling能力便是弹性的极致体现 。数据库的Autoscaling能力是指数据库处于业务高峰期时,自动扩容增加实例资源;在业务负载回落时,自动释放资源以降低成本 。
业界的云厂商AWS与Azure在其部分云数据库上实现了Autoscaling能力,阿里云数据库同样实现了其特有的Autosaling能力,该能力由数据库内核、管控及DAS(数据库自治服务)团队共同构建,内核及管控团队提供了数据库Autoscaling的基础能力,DAS则负责性能数据的监测、Scaling决策算法的实现及Scaling结果的呈现 。DAS(Database Autonomy Service)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效 。其解决方案架构如图1.所示,Autoscaling/Serverless能力在其中属于“自运维”的部分 。
图1. DAS的解决方案架构
2. Autosaling的工作流程数据库Autoscaling整体的工作流程可定义为如图2.所示的三个阶段,即“When:何时触发Scaling”、“How:采取哪种方式Scaling”及“What:Scaling到哪个规格” 。
何时触发Scaling即确定数据库实例的扩容与回缩的时机,通常的做法是通过观测数据库实例的性能指标,在实例的负载高峰期执行扩容操作、在负载回落时执行回缩操作,这是常见的Reative被动式触发方式,除此之外我们还实现了基于预测的Proactive主动式触发方式 。关于触发时机在2.1章节会进行详细的介绍 。Scaling的方式通常有ScaleOut(水平扩缩容)与ScaleUp(垂直扩缩容)两种形式 。以分布式数据库PolarDB为例,ScaleOut的实现形式是增加只读节点的数量,例如由2个只读节点增加至4个只读节点,该方式主要适用于实例负载以读流量占主导的情形;ScaleUp的实现形式是升级实例的CPU与内存规格,如由2核4GB升级至8核16GB,该方式主要适用于实例负载以写流量占主导的情形 。关于Scaling方式在2.2章节会进行详细的介绍 。在扩容方式确定后需要选择合适的规格,来使实例的负载降至合理的水位 。例如对于ScaleOut方式,需要确定增加多少个实例节点;对于ScaleUp方式,需要确定升级实例的CPU核数与内存,以确定升级至哪种实例规格 。关于扩容规格的选择在2.3章节会进行详细的介绍 。图2. Autoscaling的工作流程图示
2.1 Autoscaling的触发时机
2.1.1 Reactive被动式触发(基于观察)
基于观察的Reactive被动式触发是当前Autoscaling主要的实现形式,由用户为不同的实例设置不同的扩、缩容触发条件 。对于计算性能扩容,用户可以通过设置触发CPU阈值、观测窗口长度、规格上限、只读节点数量上限及静默期等选项来配置符合业务负载的触发条件;对于存储空间扩容,用户可以通过设置空间的扩容触发阈值及扩容上限来满足实例业务的增长,并避免磁盘资源的浪费 。被动式触发的配置选项在3.2章节会进行详细的展示 。
Reactive被动式触发的优点是实现相对容易、用户接受度高,但如图3.所示,被动式触发也存在其缺点,通常Scaling操作在达到用户配置的观测条件后才会真正执行,而Scaling操作的执行也需要一定的时间,在这段时间内用户的实例可能已经处于高负载较长时间,这会在一定程度上影响用户业务的稳定性 。
图3. 被动式触发的扩容资源对比图示
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- mysql定时备份数据库命令 mysql数据库自动备份方法
- 阿里云服务器租用费用 阿里云服务器怎么样
- 一人被批捕一人被监视居住 阿里女员工案王某文为何未被批捕
- 盘点阿里的10个赚钱项目 阿里创业平台怎么赚钱
- 阿里女员工案王某文为何未被批捕?律师回应:反映检察院对该案慎重
- 阿里女员工案王某文为何未被批捕?检方和代理律师回应
- 阿里女员工案王某文为何未被批捕
- 阿里女员工被侵害案:1名嫌犯被批捕
- 数据库数据去重方法 mysql查询去重后的总数
- 数据库迁移的两种方法 oracle数据库迁移方案对比