憋了这么久,阿里云数据库再放大招

前天下午,阿里云正式对外发布了首个“自动驾驶”级数据库平台 DAS,无疑是数据库领域的又一重磅事件。

为什么说憋了很久?因为很早前,阿里云就确定了云原生、智能化两大方向,在云原生数据库领域,阿里云拥有国内首个云原生数据库 PolarDB 及云原生数据仓库 AnalyticDB 等,如今,其在智能化方面也取得了新的突破,相关研究成果已连续两年入选数据库领域顶级会议 VLDB。

而大招也并非笔者标题党,可能很多人并不清楚 DAS 这个产品发布,背后意味着什么。作为全球前三、亚太第一的云服务商,阿里云此次发布 DAS,必将拉开云上数据库进入自动驾驶时代的序幕。

据悉,目前,阿里巴巴集团内部 85% 的数据库实例已经实现自动驾驶。

DAS 的前世今生

众所周知,虽然云数据库解决了开发者在资源弹性、高可用、备份、监控等基本运维负担,让数据库最优性能触手可及。

但如何用好数据库,如何让数据库更稳定并发挥最优的性能?如何快速诊断和应对各种原因导致的突发数据库性能问题?以及如何以最低资源成本满足业务需求,这些问题一直都是用户非常重要的诉求,因此,DAS 应运而生。

DAS 是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,提供六大自治特性,从异常检测、根因分析、决策执行以及跟踪评估,拥有全闭环的自治能力,其过程无需人工干预,实时评估自治优化效果,持续反馈,持续优化。

从上图,我们可以清晰的看到 DAS 的演进过程,其雏形最早可以追溯到 2014 年的 CloudDBA SQL 诊断引擎,2016 年进行了升级,但那时候还只是一个辅助诊断工具,还谈不上自动驾驶。2017 年,确定自动驾驶方向,通过阿里巴巴集团丰富的业务场景进行孵化和锤炼。2019 年,在阿里云上正式发布数据库 “自动驾驶”级平台——数据库自治服务 DAS。

如何正确理解 DAS

与 Oracle 将自治能力内置在数据库引擎中不同,DAS(Database Autonomy Service,简称 DAS)并不是一个数据库,而是一个“自动驾驶”平台,因此,其并不仅作用于某单一数据库引擎,而是作用于其数据库产品家族中的所有数据库,包括 PolarDB、AnalyticDB、RDS、Redis 等,涵盖 OLTP\OLAP\NoSQL 等各种类型的数据库。

而在“自动驾驶”工具类产品中,DAS 处于怎样的水平,与友商差异在何处?这里需要先搞明白什么是数据库的“自动驾驶”,同为自动驾驶,其差别也可能巨大。目前,比较得到认可的数据库自动驾驶等级定义如下:

Level-0: 全部靠人肉,没有任何工具/产品辅助

Level-1: 提供基础监控、告警等信息,不输出任何建议;

Level-2: 在某些场景下,能够输出诊断或者优化建议,但是建议是否采纳和应用,还是由人来决策,例如 SQL 诊断引擎;

Level-3: 在部分场景下,实现完全的自治,无需人参与,例如自动 SQL 限流、自动 SQL 优化、自动弹性伸缩等;

Level-4: 实现数据库的完全自动驾驶。

阿里云资深技术专家、DAS 产品线负责人李广望在接受笔者采访时候表示,目前 DAS 能力对应等级已经超越 Level-3,正在全力向 Level-4 演进。

也就是说,DAS 在部分场景下,已经实现了完全自治,无需人工参与。与友商的区别也就显而易见。据悉,部分云厂商的自治服务还处于辅助诊断阶段,因为决策还需要人工采纳和执行,这是根本的区别。

而部分场景比例是多少呢?李广望表示,基于 DAS 在阿里巴巴集团内的实践,能覆盖 90% 的场景,让数据库管理成本下降 9 成。能覆盖 90% 的场景,但阿里云却没有将其定义为 L4,是因为其优化策略采用最大保护策略,其目的是不给用户带来负面效果和不确定性。

据了解,目前, DAS 已在阿里巴巴集团的所有数据库上验证了近 3 年,并大规模应用于阿里巴巴内部业务场景,累计优化超 4200 万 SQL、回收超 4 PB 空间,并服务了大量电商、金融、游戏等领域企业。

写在最后

聊数据库,不谈性能就是耍流氓,因为,性能犹如粮食,在数据库的历史上,一直就不够用,这就是为什么数据库都需要精细化调优的原因。

如果说,从传统数据库到云原生数据库,是数据库领域的第一次飞跃,那么,数据库实现自动驾驶,毫无疑问是数据库领域的第二次飞跃。因为,它让数据库发挥最优性能变得触手可及。

从“人肉处理”到“自动驾驶”,从“被动救火”到“提前防治”,从“监控告警”到“自动止损”,从“局部优化”到“全局优化”,从“基于规则”到“基于 AI”,代表的是时代的发展和技术的进步。

因此,阿里云预测,未来 3 年,云上 80% 的数据库将开启‘自动驾驶’就变得很好理解了。从某种程度上讲,云数据库实现自动驾驶的能力势必会加速数据库上云的进程。