多语言展示
当前在线:1914今日阅读:176今日分享:34

DBA面临AI的挑战都有哪些?

优秀的数据库管理员DBA,原本可以靠自己的本事,享受高薪,可是,好景不长了,因为即便是资质平平的DBA,以后借助AI的力量,也能瞬间达到优秀DBA的水平。最近来自卡耐基梅隆数据库小组的最新研究成果,他们正用最新的深度学习技术,完成数据库的调优工作。更多知识请查看《Linux就该这么学》。如果这项技术在未来进一步普及,那么,很无奈,这个行业不得不接受AI对于人员结构的改造。
工具/原料

一枚DBA

方法/步骤
1

DBA迎来新的革命卡内基·梅隆大学数据库小组采用机器学习实现了数据库的自动化管理,其在线版的自动化管理服务 OtterTune 稍后即会上线。OtterTune 所要解决的是数据库管理中最为繁杂的问题:诸如缓存大小分配、写入频率管理等因素在内的数百项参数的动态设置。过去,这项工作只能由经验丰富的数据库专家手动来完成。这其中采用了怎样的原理呢?

2

OtterTune 到底用了什么原理?采用机器学习后,OtterTune 把数据库管理系统(DBMS)的工作流程变成这样:一开始,OtterTune 需要被告知明确的优化目标,如延迟、吞吐量等;其客户端 Controller 会自动关联目标 DBMS 及其亚马逊 EC2 副本的类型与当前设置。而后,Controller 便开启第一个观察周期,观察 DBMS 并记录目标项。观察结束时,Controller 会搜集好 DBMS 的内部参数,并将它和目标项发送给 Tuning Manager。收到参数后,Tuning Manager 便把它们存储入库。OtterTune 用这些参数计算出 DBMS 的目标配置,并将其发回至 Controller,Controller 部署并运行新的配置,以提升数据库性能。管理人员可随时启用或终止 OtterTune 服务。简而言之:首先,需要设置一些优化目标,连接到数据库系统,使用初始化的设置去运行;然后控制器开启第一次观察周期,记录下当前设置模式下的所有系统性能度量,并返回这些结果给调优器;调优器记录这些结果,并根据这些度量信息和系统信息计算出新的数据库配置;最后调优器把调优结果配置传回控制器,同时可以有效评估系统提升的期望值;用户根据评估值决定是否使用新的配置。其中最核心的步骤就是:计算出新的数据库管理系统DBMS 的目标配置,即这里面用到的主要是机器学习。下面详细解释一下机器学习在里面的作用。

4

结果对比OtterTune 在论文中测试了 MySQL 和 Postgres 这两个数据库的延迟和吞吐量,结果如下:

5

从图中可以看出,相比于 MYSQL 管理脚本,OtterTune 的延迟要低 60%,吞吐量则能提升 35%。相比于 Postgres 的默认配置,OtterTune 与其他方法在延迟方面的提升大体相近;但吞吐量方面,OtterTune 比 DBA 的选择要好 12%。

推荐信息