周末大料|CMU研发数据库调优AI,水平超DBA老炮

这个周末,最不开心的应该是优秀的数据库管理员了。

这些优秀的数据库管理员(以下简称数据库管理员为DBA),原本可以靠自己的本事,享受高薪,可是,好景不长了,因为即便是资质平平的DBA,以后借助AI的力量,也能瞬间达到优秀DBA的水平。

来看最近来自卡耐基梅隆数据库小组的最新研究成果,他们正用最新的深度学习技术,完成数据库的调优工作。

如果这项技术在未来进一步普及,那么,很无奈,这个行业不得不接受AI对于人员结构的改造。

DBA迎来新的革命

卡内基·梅隆大学数据库小组采用机器学习实现了数据库的自动化管理,其在线版的自动化管理服务 OtterTune 稍后即会上线。

OtterTune 所要解决的是数据库管理中最为繁杂的问题:诸如缓存大小分配、写入频率管理等因素在内的数百项参数的动态设置。过去,这项工作只能由经验丰富的数据库专家手动来完成。

这其中采用了怎样的原理呢?

OtterTune 到底用了什么原理?

采用机器学习后,OtterTune 把数据库管理系统(DBMS)的工作流程变成这样:

一开始,OtterTune 需要被告知明确的优化目标,如延迟、吞吐量等;其客户端 Controller 会自动关联目标 DBMS 及其亚马逊 EC2 副本的类型与当前设置。

而后,Controller 便开启第一个观察周期,观察 DBMS 并记录目标项。观察结束时,Controller 会搜集好 DBMS 的内部参数,并将它和目标项发送给 Tuning Manager。

收到参数后,Tuning Manager 便把它们存储入库。OtterTune 用这些参数计算出 DBMS 的目标配置,并将其发回至 Controller,Controller 部署并运行新的配置,以提升数据库性能。

管理人员可随时启用或终止 OtterTune 服务。

简而言之:

首先,需要设置一些优化目标,连接到数据库系统,使用初始化的设置去运行;

然后控制器开启第一次观察周期,记录下当前设置模式下的所有系统性能度量,并返回这些结果给调优器;

调优器记录这些结果,并根据这些度量信息和系统信息计算出新的数据库配置;

最后调优器把调优结果配置传回控制器,同时可以有效评估系统提升的期望值;

用户根据评估值决定是否使用新的配置。

其中最核心的步骤就是:计算出新的数据库管理系统DBMS 的目标配置,即这里面用到的主要是机器学习。

下面详细解释一下机器学习在里面的作用。

机器学习的作用

机器学习模块分为三部分:获取 Controller 观察到的工作负载参数(Workload Characterization 组件),识别并学习这些参数(Knob Identification 组件),自动管理数据库(Automatic Tuner 组件)。

下面一一来说:

Workload Characterization: OtterTune 使用 DBMS 的内部运行参数来提取数据库的工作负载特征。机器学习模块使用聚类方法来衡量这些参数的相关性,尽可能地裁剪参数量,以降低计算的复杂程度。

Knob Identification: 识别并学习数据库参数,OtterTune 所用的特征选取方法是 Lasso,以找出它们的重要程度。OtterTune 据此来计算 DBMS 的目标配置,它使用一种增量方法来找出数据库的最佳配置。

Automatic Tuner: 而后的工作则交由 Automatic Tuner 组件。首先,它用 Workload Characterization 组件的性能数据来确定 DBMS 的目标负载;而后,它会选择一组不同的配置进行测试。

OtterTune 的目标总是优化下一组配置,尽可能地搜集数据来提升性能,而非紧盯住目标配置不放。

结果对比

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

从图中可以看出,相比于 MYSQL 管理脚本,OtterTune 的延迟要低 60%,吞吐量则能提升 35%。

相比于 Postgres 的默认配置,OtterTune 与其他方法在延迟方面的提升大体相近;但吞吐量方面,OtterTune 比 DBA 的选择要好 12%。

总体来看,OtterTune可以在延迟和吞吐等性能指标上大幅领先传统的自动化配置脚本,并接近专业DBA的水平。

AI如何击中了这个行业的痛点?

为什么这个行业需要AI来改造?DBA的日常工作到底有哪些痛点?

让我们把目光拉近,看看这个行业到底有什么问题。

目前的数据库,主要采用专业的数据库管理员(以下称DBA)来设计数据系统的架构,调优等。

但是,由于业务系统极其复杂,且随着业务的快速迭代,需要数据库系统能跟上业务的节奏,快速响应,快速更新,这就导致调优任务也随之变得极其复杂。

DBA需要灵活掌握各项影响系统性能的控制因素,也必须对数据底层,甚至体系结构都有深入了解,才能很好地完成调优任务。

因此,真正满足优秀的DBA就非常少了,而且价格昂贵。

随着大数据行业的井喷式发展,这种人才一直都是严重供不应求。

不过,这部分原本可以享受高薪的人群,好日子貌似要走到头了。

因为,普通DBA也能借助AI抢饭碗了。

卡耐基梅隆的数据库小组整出来的这个新研究,就是要通过使用AI技术,简化了DBA对于数据库系统的调优过程,即便是普通的DBA,也能达到、甚至超过专业DBA调优系统的能力。

所以,一旦AI在此领域真正开始发挥作用,人力成本将大幅降低,工作又能快速响应,公司再也不会因为专业DBA短缺而影响业务发展了,这将是公司老板拍手称快的大好事。

原文地址 https://aws.amazon.com/cn/blogs/ai/tuning-your-dbms-automatically-with-machine-learning/?tag=vglnk-c1507-20

原文发布于微信公众号 - AI科技大本营(rgznai100)

原文发表时间:2017-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

机器学习为核心,DeepMind助力谷歌开发的安卓 9「Pie」今日上线

今年 5 月份,谷歌 I/O 大会宣布推出安卓 9,而后经过数月的测试,谷歌收获了大量的反馈。此外,还有小米、Oppo 等 7 家设备制造商也将测试版本放到了他...

1061
来自专栏灯塔大数据

热点 | 年度重大更新:PyTorch0.4官方支持Windows,完全改变API

昨天,PyTorch 官方 GitHub 发布 0.4.0 版本,大家心心念念的 Windows 支持终于到来!加入到深度学习的行列中来吧!

1272
来自专栏CDA数据分析师

业界 | 除了R、Python,还有这些重要的数据科学工具

在你向一些大神请教的时候,他可能也会推荐你学习这两个高级编程语言,然后顺便在推荐你了解一下SQL以及Math。如果讲究点的,可能还会传授你一些Spark、AWS...

1213
来自专栏数据小魔方

ggplot2又添新神器——ggthemr助你制作惊艳美图

今天在浏览ggplot扩展插件目录的时候,又发现了一款神器——ggthemr。 这是继ggplot的ggtheme包、RColorBrewer包之后(不算ggt...

3555
来自专栏AI科技大本营的专栏

从15000个Python开源项目中精选的Top30,Github平均star为3707,赶紧收藏!

翻译 | AI科技大本营(ID:rgznai100) 参与 | SuiSui 继推出2017年机器学习开源项目Top 30榜单后,Mybridge AI又推出了...

4446
来自专栏云计算D1net

谷歌云平台加入对更多微软产品的支持

谷歌正在向Google Cloud Platform(谷歌云平台)的用户提供更多可用的微软软件。 谷歌在12月8日宣布,将允许客户在谷歌云平台上运行Window...

3647
来自专栏小狼的世界

充电:PR值的相关知识

      网站的PR值(全称为PageRank),是google搜索排名算法中的一个组成部分,级别从1到10级,10级为满分,PR值越高说明该网页在搜索排名中...

1352
来自专栏大数据和云计算技术

元数据概念

刘耀铭同学元数据系列作品的第一篇,大家支持! 其他元数据相关系列文章: 基于元数据驱动的ETL Hive 元数据表结构详解 1、 元数据是描述其他数据的数据(...

39411
来自专栏云计算D1net

容器和微服务器如何改变安全性

原生云应用程序和基础设施需要完全不同的安全方法。请牢记下面这些最佳实践。 ? 如今,大大小小的组织正在探索云原生软件技术的应用。“原生云(cloud-nati...

3816
来自专栏PPV课数据科学社区

【学习】数学之美系列十:有限状态机和地址识别

数学之美系列十:有限状态机和地址识别 地址的识别和分析是本地搜索必不可少的技术,尽管有许多识别和分析地址的方法,最有效的是有限状态机。 一个有限状态机是一个特...

37511

扫码关注云+社区

领取腾讯云代金券