1. 首页>
  2. 腾讯云代理

AI首次全面超越数据库专家!腾讯、华科推出基于深度DL的云数据库自动调优系统

腾讯云 2019年07月08日 浏览34

    腾讯云代理 腾讯云新闻 腾讯云代理 腾讯云直播申请 游戏上云

摘要:

腾讯与华中科技大学合作提出了一种基于深度强化学习的端到端的云数据库自动性能优化系统 CDBTune,此项研究是 基于 AI 技术的数据库性能调优结果首次全面超越数据库专家经验判断的传统方法。相关论文已经被国际数据库顶级会议 SIGMOD 收录。


随着云计算的迅速发展,越来越多中小型企业购买云数据库服务系统来代替自建数据库。然而,大多数用户在购买云数据库服务系统后仅仅停留在使用层面上,使用过程中经常遇到数据库系统性能下降的问题,由于缺少数据库管理系统性能优化的经验,用户很难发现导致数据库系统性能下降的原因并有效地解决,这就需要云服务提供商为用户及时地调整数据库系统参数,以保证数据库的性能维持在一个较优的状态。对于拥有数十万计用户实例的云服务提供商来说,完全依赖数据库专家进行数据库参数调优并不现实,如何利用 AI 技术解决数据库系统性能问题变得越来越重要和紧迫。

近日,腾讯与华中科技大学合作发布了最新研究论文 《An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning》,该论文首次提出了一种基于深度强化学习的端到端的云数据库自动性能优化系统 CDBTune,该系统可以在缺少相关经验数据训练的情况下建立优化模型,为云数据库用户提供在线自动优化数据库性能的服务,性能调优结果首次全面超越数据库专家,将大幅提高数据库运维效率。该论文已经被国际数据库顶级会议 SIGMOD 收录,将于 6 月 30 日在荷兰阿姆斯特丹召开的 SIGMOD 2019 国际会议上公开发表。该成果由华中科技大学武汉光电国家研究中心周可教授团队和腾讯技术工程事业群云架构平台部 CDB 数据库团队合作完成,博士生张霁为第一作者。

对于该论文,SIGMOD 评审委员会给出了极高的评价:

The paper is on the exciting new area of tuning databases with machine learning. Specifically using reinforcement learning. It does not just throw machine learning techniques but it does a good effort to explain how the techniques exactly match to the particular problem, what are the analogies with more traditional machine learning terminology, etc. Given that not everyone is knowledgeable in these techniques in the DB community this works in an educational way as well and is very much appreciated.

(本文是关于利用机器学习方法优化数据库的技术,这是一个令人振奋的新领域。 特别是它使用了强化学习的方法。这篇文章不仅仅是简单地抛出一个机器学习技术,而且非常好地解释了机器学习是如何与特定的问题进行完全的匹配,同时也阐述了与传统机器学习术语之间的类比问题。鉴于在数据库社区中并非每个人都能对这些技术了如指掌,这也是一种教学方式,因此我们非常赞赏这篇文章。)

AI 前线第一时间联系到腾讯 TEG 云架构平台部 CDB 数据库团队进行了独家专访,内容整理如下:

CDBTune 因何而生?

随着自研业务以及腾讯云上数据库实例规模不断高速增长,团队发现对于很多腾讯数据库 CDB 的使用者来说,由于缺少丰富的数据库性能优化经验,很难发现导致数据库性能下降的原因并有效解决。而对于 CDB 团队来说,完全依赖数据库专家进行数据库参数调优代价昂贵且不现实。

在 CDBTune 之前,业界对于数据库性能自动调优也有一些类似工作。大概有两个方向:

  • 第一个方向主要利用启发式搜索的方法缩小高维配置空间。这种方法不利用任何历史经验数据,因此在每个调参任务开始时都需要从 0 开始,调参效率较低。

  • 另外一个方向是采用流水线方式的传统机器学习方法,导致推荐配置有一定的误差。而且需要大量高质量的经验数据进行模型训练,提高了学习门槛。

CDBTune 主要的目标就是解决两个问题:降低学习门槛和提升调参效率。

CDBTune 工作原理

CDBTune 的工作过程主要分为离线训练和在线调优两个步骤。离线训练就是用一些标准的负载生成器对数据库进行压测,边收集训练数据,边训练一个初步的配置推荐模型。当用户或者系统管理员有数据库性能优化需求时,可以通过相应的交互接口提出在线调参优化请求,此时云端的控制器通过给智能优化系统发出在线调参请求,并根据用户真实负载对之前建立好的初步模型进行微调,然后将模型微调后推荐出的相应的参数配置在数据库中进行设置。反复执行上述过程,直到待调参的数据库性能满足用户或系统管理员的需求即停止调参。


畅读原文

相关文章

在线客服
淘宝购买
腾讯云直播申请 title=
+成为腾讯云VIP客户 腾讯云直播申请 客服电话

15818558013

0755-33940501-803

0755-33940501-808