当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破( 五 )


探活HASQL -> DASMind感知层感知到iSQ-> 通过iSQUAD定位根因 -> 发起决策Action -> 沉淀模型和知识图谱-> 通过自动/手动标注和迭代更新模型形成闭环
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
引入探活iSQ更好的帮助我们 , 定位流量突增对其他表的影响 , 下图是一个探活RT异常的案例 , 我们发现 16:03的时候 , 探活SQL的RT有异常 。
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
探活 iSQ 很敏感 , 通过 16:03 发现异常而慢SQL在16:04发现异常 , 原因也很简单 , 其他慢SQL需要花更长的时间才返回 , 而探活的iSQ在更短的SQL返回时间内发现了异常
iSQUAD发现指标Patterns的异常 , cpu/active_session/DML执行次数都有一定突增 , 由于CPU密集型workload造成了session的堆积 , 同时SQL执行时间变慢产生iSQ , 而探活SQL变成iSQ这个现象帮助我们发现这类影响数据库性能的问题 , 进而帮助我们定位到阻塞性workload流量 , 很大程度上帮助我们精准定位该类型的异常 。
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
后续SQL自动限流action会根据Pattern得出的异常分析结论 , 属于CPU Intensive Workload 分类 。
根据分类 , 后端会拉取全量SQL , 将关联指标和SQL提取 , 发起发出SQL限流建议 , 同时我们外置CBO优化器会给问题SQL做相应的索引推荐 , 也可通过用户的设置 , 进行弹性扩缩容 。 下面的例子是DAS自治中心通过通过根因定位后 , 产生相应自治操作的实例 。 我们会根据指标的异常patterns和分类做出 , 自动SQL限流 , 自动SQL优化以及Auto-scale的自治操作 。
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
成果 & 未来
作为新基建的重要基础设施 , 数据库的完全自治对于企业数字化转型 , 高效、安全地管理多种多样数据库产品有这重大的意义 , 最大程度地降低数据库不可用时间 , 通过自治服务提高数据库性能和消除人工操作可能带来错误 , 进一步解放生产力 。 面对不断扩张的数据规模 , 选择DAS数据库自治服务 , 你可以轻松搞定这一切 。
在今天 , 当数据的产生速度已经远远超过了手动数据管理和处理的速度 , 数据库规模增长的速度远远超过对数据本身的分析和洞察的速度 。 借助数据库自动驾驶的特性 , 数据库自治服务可提供众多传统数据库无法企及的优势 。
未来 , 越来越多的企业数据库将迁移到云上 , 随着云原生生态的日渐丰富, 通过数据库自治服务的诊断能力 , 巩固和提高竞争优势 , 让 IT 部门专注于创新而不是数据库管理 。 通过智能化和数据驱动的方式让数据库运行的更快/更稳/更安全 , 这也是阿里云DAS(DatabaseAutonomy Service)产品一直的期望和愿景 。 借助AutonomousDiagnose的进展 , 今年我们底层DASMind算法服务支持全网 50w+(MySQL, PolarDBMySQL, Redis)实例的异常原因分析 , 从1-5-10(1分钟发现问题 , 5分钟定位问题-10分钟发起自治action)演进到(1分钟发现并定位问题-5分钟内发起自治action) , 帮助DAS产品实现自动SQL限流、自动SQL优化、Auto-scale等自治服务 , 距离实现L5 Full-automation更进一步 , 未来的方向会从局部的自治逐步演进到全局的完全自治 。