通过数据库自治服务DAS,可以帮助企业节省90%的数据库管理成本,降低80%的运维风险,让您可以更集中在业务创新,让业务持续行驶在快车道上。本文以双11期间的实际案例介绍DAS已拥有6大核心自治特性:7x24实时异常检测、故障自愈、自动优化、智能调参、自动弹性、智能压测。
7x24实时异常检测
- 检测范围更广,例如不仅限监控指标, 还包括SQL、日志、锁等。
- 实现准实时的检测,大大超前传统方式发现异常。
- 基于AI和异常驱动的检测技术,而非故障驱动的检测。
- 具备周期性识别能力,自适应业务特征,拥有提前预测能力。

现实中常见的workload场景,如毛刺特征、周期性特征、趋势性特征、均值偏移特征等, 异常检测服务都能够准确自动识别,并支持多种时序特征叠加识别,识别出异常后, 会触发基于根因的全局诊断分析,以及后续的异常恢复、优化自治场景。

故障自愈
通过7x24实时异常检测, 数据库实例异常完成实时检测发现,DAS自动进行根因分析,自动执行相关止损或修复操作,帮助数据库自动恢复,减少对企业业务的影响。如下图为双11期间自动SQL限流的实际案例:

某自治服务接入实例于2020年11月5日12点31分,活跃会话数和CPU开始骤然飙升,DAS异常检测中心于12点33分确定此次飙升为一次数据库异常而非抖动尖刺,触发SQL自动限流根因诊断,12点34分诊断完成,共发现两条导致该次异常的问题SQL,发现问题SQL后随即发起自动限流,活跃会话数开始降低,存量已提交问题SQL执行结束后,活跃会话数开始急速恢复,CPU使用率同时也恢复到正常。整个过程满足“1-5-10”异常自愈能力, 即1分钟发现,5分钟定位,10分钟恢复。
外置式SQL自动优化
- 它采用外置式的,基于代价模型方式,实现索引、语句改写推荐,以及性能瓶颈问题识别和推荐,避免传统规则式的,过于机械化,推荐质量无法保证,无法量化性能提升收益等问题。
- DAS给在这些方面提供了足够覆盖度的场景:测试用例的正式特征库、在线用例的自动反馈提取、阿里巴巴多样化的应用场景。
- 基于全局的Workload优化,基于Workload特征,例如SQL执行频率,读写比等进行优化,最大限度地消除局部优化的片面性弊端。

- 自动SQL优化前平均RT及扫描行数:
- 自动SQL优化后平均RT及扫描行数:
自动弹性
云上数据库提供基于计算规格的选项以及存储容量供用户选择,当用户业务Workload规模变化时可适当进行弹性扩缩容,但对于云原生应用而言,数据库能够根据业务Workload的变化自动决定最合适的规格,使用最小的资源完成业务所需的数据库容量。DAS基于AI的时序列预测,能够自动对数据库的业务模型、容量水位进行计算和预测,实现及时按需(或先知先觉式)自动扩缩容。
- 性能采集负责对实例进行实时性能数据采集,涉及数据库的多项性能指标信息、规格配置信息、实例运行会话信息等。
- 决策中心模块则会根据当前性能数据、实例会话列表数据等信息进行全局判断,以基于根因的全局自治,例如可通过SQL限流来解决当前计算资源不足的问题则会采取限流处理。若确实为突增的业务流量,则会继续进行弹性服务流程。
- 算法模型是整个DAS 自动弹性服务的核心,负责对数据库实例的业务负载异常检测和容量规格模型推荐进行计算,解决核心的扩容时机、扩容方式、计算规格选择问题。
- 规格推荐和验证模块生成具体的推荐规范,并检查推荐的规范是否适合数据库实例的部署类型和实际运行环境。该模块还会重复检查推荐的规范是否可以在当前区域购买,这确保了推荐的规范可以在管理端顺利使用。
- 管控执行负责按照产出的规格建议进行分发执行。
- 状态跟踪最后用于衡量和跟踪规格变更前后数据库实例上的性能变化情况。

智能压测
DAS提供的智能压测服务能够帮助您在上云或在业务大促前评估所需的数据库规格容量。规格自动扩容AutoScale能力能够帮助您在根据配置的数据库性能阈值,或根据DAS内置智能化策略自动触发扩缩容动作,从而一定程度上解决了做规格评估和管理的负担。
- 在不能采集大量SQL的情况,如何提供长时间压测,如7x24小时稳定性压测。因为SQL采集需要时间和存储成本,在给定部分SQL的情况,DAS需要生成满足业务要求的SQL。
- 并发回放能力:DAS需要保证和真实业务一致的并发,并能够提供倍速(如2倍速、10倍速等)和峰值压测功能。

DAS通过自动学习业务模型,自动生成符合压测时间的真实业务Workload,同时提供给用户更丰富的压测场景,帮助用户解决大促、数据库选型等问题。
智能调参
- 参数组合空间巨大,全部遍历为NP-hard。
- 调参依赖经验,无法保证参数的有效性。
- 云上Workload存在多样性,不同Workload的参数不同。
- 硬件(规格)异构,不同硬件规格下,对应的参数不同。


DAS通过高效的机器学习手段,将调参看做黑盒优化问题,进行迭代学习,对于不同Workload的TPS提升有15%-55%,整个过程能在3-5个小时约100个迭代步内完成。基于阿里巴巴集团内部丰富的Workload和硬件基础设施,离线学习出不同种类workload和硬件规格的特征和参数,再通过偏序关系的匹配和Meta Learning,在线拟合出适配给定目标workload的模型,通过少量迭代便可以快速学习出目标workload的参数值,可以在缩短到1个小时以内约10-30步以内找出理想的参数。