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


当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
导读:VLDB 2020(The 46th International Conference on Very Large Data Bases)学术会议是数据库领域的顶级会议 , 今年VLDB收录多篇AI与数据库交叉方向的论文 , 从Query/Index Optimization、Workload Scheduling、Autonomous Diagnose, 都是数据库领域的热点问题 , 我们可以看到今年VLDB机器学习不断渗透到数据库自治领域的每一个角落 。
随着数据驱动机器学习的发展 , 在医疗领域 , 通过机器沉淀医生的经验帮助医生智能诊疗病情分析;在汽车自动驾驶领域 , 大量的数据训练沉淀下来的模型可以帮助司机完成辅助驾驶;在数据库自动驾驶领域 , 阿里云也一直在尝试通过故障异常的数据 , 来沉淀DBA的运维经验和数据流想向数据库系统中“行为”的变化规律 。 DAS团队多年以前开始研发智能化自治数据库平台SDDP(Self-Driving Database Platform)并在去年演进到云上DAS(Database Autonomy Service) , 依托数据驱动的方式 , 帮助用户实现数据库自感知、自修复、自优化、自运维及自安全的云服务 。 帮助企业用户消除数据库管理的复杂性 , 保障数据库服务的稳定、安全及高效运行 。
本文着重在Autonomous Diagnose的方向上做了一定的探索并在阿里云DAS产品做了实践和落地 , 由阿里云数据库产品事业部与清华大学合作项目共同完成 , VLDB2020 已于9月初在日本东京召开 , 由于疫情在线上举办 , 10分钟解读视频如下:
作者 | 阿里云技术专家 殷征
在智能化管控数据库的探索与实践过程当中 , 对数据库SQL的诊断/根因定位是我们一直以来需要面对的问题 , 从阿里巴巴集团到阿里云数据库 , 我们管控的实例数从几万规模扩大到几十万规模 , DBA在面对数据库性能问题的时往往需要反复观察性能数据、日志数据、会话信息等 , 耗费较多的分析时间 。 大部分难以被发现的故障往往都是在海量慢SQL中的慢SQL , 规则式的排序也许可以解决80%的问题 , 但是总会有边界条件导致故障无法被发现或者定位 。
通过自动化的方式 , 我们可以通过一些规则将一些主要的现象分类 , 而我们经常遇到数据库现象和根因如何定位的问题 , 多个现象的情况总是会同时发生 , 规则会越来越复杂 , 越来越难以维护 , 所以通过规则很难解决这类场景的问题 。 所以通过集团和云上的故障case的沉淀和探索 , 我们尝试通过标准化的Pipeline来帮助我们未知问题的分类 , 实现从"Automation"to "Autonomous"的演进 。
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
论文介绍
【当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破】通过本文题目展开如下关键词介绍:
DiagnosingRoot Causes of Intermittent Slow Queries in Cloud Databases
1) Cloud Databases
2)Slow Queries
3)Diagnose
Cloud Databases
随着云数据库的快速发展 , 越来越多的企业将数据库迁移到云上 , 当数据库遇到了云 , 两者的特性会碰撞出何种火花 。
当数据库遇上"自动驾驶",阿里云 DAS 在自治诊断的突破文章插图
云的本质是各种资源高效的池化 , 计算机的本质就是计算+存储 , 而数据库的本质是数据在生产、处理、存储、消费的过程 。 当Cloud遇到Database , 可以通过计算分析一体化来减少数据的移动 , 通过存储计算分离实现资源池化和解耦 , 形成了云原生+分布式为基础云数据库的发展生态 。
Slow Queries
慢SQL与iSQ (Slow Queries & Intermittent SlowQueries)
传统慢SQL的方式往往会包含本身执行很慢的SQL , 例如一个全表扫描查询 , 或者复杂的嵌套查询 , 或是没有加入索引的查询 , 这一类SQL往往可以通过我们自治场景SQL优化的方式来优化这类SQL , 当然一些SQL本身也没有什么优化空间但执行时间大于1s , DBA在排查问题的时候往往会收到这些慢SQL的干扰 。


推荐阅读