当前位置: 首页 > 编程日记 > 正文

性能全面超数据库专家,腾讯提基于机器学习的性能优化系统 | SIGMOD 2019

640?wx_fmt=png


腾讯与华中科技大学合作的最新研究成果入选了国际数据库顶级会议SIGMOD的收录论文,并将于6月30日在荷兰阿姆斯特丹召开SIGMOD 2019国际会议上公开发表。


入选论文的题目为“An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning”,此项研究突破性的实现了基于AI技术的数据库性能调优结果首次全面超越数据库专家经验判断的传统方法。该成果由华中科技大学武汉光电国家研究中心周可教授团队和腾讯技术工程事业群云架构平台部CDB数据库团队合作完成,博士生张霁为第一作者。

 

智能云存储技术联合研究中心由腾讯与华中科技大学于2018年成立,旨在通过强强联合,建设一流的智能云存储技术创新和人才培养平台。通过吸引汇聚顶尖专业人才,腾讯与华中科技大学在分布式存储技术、高性能存储引擎、业务负载预测等方面开展联合技术攻关,突破超大规模云存储服务系统的诸多技术难题,推动智能云存储技术的科技创新及技术应用落地。本次入选的论文,正是智能云存储技术联合研究中心的联合研究成果之一。

 

SIGMOD数据管理国际会议是数据库领域具有最高学术地位的国际性学术会议,位列数据库方向顶级会议之首。

 

随着云计算的迅速发展,中小型企业通过购买云数据库服务系统,来代替自建和维护数据库服务系统的情况越来越多,以便节约人力物力。然而,大多数用户在购买云数据库服务系统后仅仅停留在使用层面上,在使用过程中经常遇到数据库系统性能下降的情况。


由于缺少数据库管理系统性能优化的经验,用户很难发现导致数据库系统性能下降的原因并有效地解决,这就需要云服务提供商为用户及时地调整数据库系统参数,以保证数据库的性能维持在一个较优的状态。对于拥有数十万计用户实例的云服务提供商来说,完全依赖数据库专家进行数据库参数调优显然是不现实的,如何利用AI技术解决数据库系统性能问题已经变得越来越重要和紧迫。

 

该文首次提出了一种基于深度强化学习的端到端的云数据库自动性能优化系统CDBTune,如图1所示。该系统可以在缺少相关经验数据训练的情况下建立优化模型,为云数据库用户提供在线自动优化数据库性能的服务,性能调优结果首次全面超越数据库专家,这将大幅提高数据库运维效率。

       

640?wx_fmt=png

图1  强化学习与数据库性能优化关系图

 

如图2所示,在多种不同负载和不同类型的数据库下进行的大量实验证明,CDBTune性能优化结果明显优于目前已有数据库调优工具和DBA专家。即使在弹性云环境下,用户购买数据库内存或磁盘大小发生变化,或负载发生变化(类型不变)的情况下,实验证明CDBTune依然保持了较好的适应能力。

     

640?wx_fmt=png

图2  CDBTune性能测试结果

 

在实际系统中,如图3所示,当用户或者系统管理员有数据库性能优化需求时,可以通过相应的交互接口提出调参优化请求,此时云端的控制器通过给智能优化系统发出调参请求,并根据用户真实负载建立的深度强化学习模型推荐出的相应的参数配置,然后将该配置在数据库中进行设置。反复执行上述的执行过程,直到待调参的数据库性能满足用户或系统管理员的需求即停止调参。

 

       

640?wx_fmt=png

图3  CDBTune系统交互图

 

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

 

每年SIGMOD会议都会吸引大量全球学术组织和工业界数据库研究人员参会和分享,也汇聚了学术界和工业界在数据库领域最前沿的技术研究动向。


(*本文为 AI科技大本营转载文章,转载请联系连作者)


精彩推荐



想跟NVIDIA专业讲师学习TensorRT吗?扫码进群,获取报名地址,群内优秀提问者可获得限量奖品(定制T恤或者技术图书,包邮哦~)


NVIDIA TensorRT是一种高性能深度学习推理优化器和运行时加速库,可以为深度学习推理应用程序提供低延时和高吞吐量。通过TensorRT,开发者可以优化神经网络模型,以高精度校对低精度,最后将模型部署到超大规模数据中心、嵌入式平台或者汽车产品平台中。


640?wx_fmt=jpeg

640?wx_fmt=png

推荐阅读

  • 打破欧美垄断,国防科大斩获“航天界奥林匹克”大赛首冠

  • 阿里达摩院SIGIR 2019:AI判案1秒钟,人工2小时

  • 阿里巴巴杨群:高并发场景下Python的性能挑战

  • 50行Python代码教AI实现动作平衡

  • 任正非:华为 100% 没有后门

  • 面试阿里技术岗,竟然挂在第4 轮……

  • 独家对话V神! 质疑之下的以太坊路在何方?

  • 同样是消息队列,Kafka凭什么速度那么快?

    漫画:码一代是如何培养码二代的?

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

相关文章:

swift 语言评价

杂而不精,一团乱麻!模式乱套,不适合作为一门学习和研究语言。 谢谢 LZ 介绍,看完之后更不想用 Swift 了。从 C那里抄个 V-Table 来很先进嘛?别跟 C一样搞什么 STL 就好了,整这么复杂,入个门都需…

Creative Web Typography Styles | Codrops

Creative Web Typography Styles | Codrops. 非常好的文字效果

OpenCV 图像采样 插值 几何变换

转自:http://hi.baidu.com/xiaoduo170/blog/item/6eefc612c9f8e9c6c2fd786f.html InitLineIterator 初始化线段迭代器 int cvInitLineIterator( const CvArr* image, CvPoint pt1, CvPoint pt2, CvLineIterator* line_iterator, int connectivity8 ); image 带采…

centos 6.* 修改时间

一、查看Centos的时区和时间 1、使用date命令查看Centos时区 [rootVM_centos ~]# date -R Mon, 26 Mar 2018 19:14:03 0800 2、查看clock系统配置文件 [rootVM_centos ~]# cat /etc/sysconfig/clock ZONE"Asia/Shanghai" 3、查看系统的硬件时间,即BIOS时间…

别光发Paper,搞点实际问题

文 / LVS话说几个月前,我参加了一场学术大会,台上的教授不是北大、清华就是浙大、上交大,几位教授不约而同的吐槽招通信、算法和编解码的学生太难了。为什么呢?原来,先不比金融,仅仅与同是IT领域的AI专业就…

spring mvc文件上传小例子

spring mvc文件上传小例子 1.jsp页面 <%page contentType"text/html;charsetUTF-8"%> <%page pageEncoding"UTF-8"%> <% taglib prefix"c" uri"http://java.sun.com/jsp/jstl/core"%> <% taglib prefix"fmt…

解密Kernel:为什么适用任何机器学习算法?

作者 | Marin Vlastelica Pogančić译者 | 陆离编辑 | 一一出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;机器学习中Kernel的秘密&#xff08;一&#xff09;本文探讨的不是关于深度学习方面的&#xff0c;但可能也会涉及一点儿&#xff0c;主要是因为…

03-Java的基础语法

一个Java程序可以认为是一系列对象的集合&#xff0c;而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象&#xff1a;对象是类的一个实例&#xff0c;有状态和行为。例如&#xff0c;一条狗是一个对象&#xff0c;它的状态有&…

图像处理-仿射变换 AffineTransform

转自&#xff1a;http://fairywangyutang.blog.sohu.com/146834554.html AffineTransform类描述了一种二维仿射变换的功能&#xff0c;它是一种二维坐标到二维坐标之间的线性变换&#xff0c;保持二维图形的“平直性”&#xff08;译注&#xff1a;straightness&#xff0c;即变…

以前初学php用的分页函数

page.php <?php /* *http://www.iiwnet.com/php/ PHP学习 * */ function _PAGEFT($totle, $displaypg 20, $url ) { global $page, $firstcount, $pagenav, $_SERVER; $GLOBALS["displaypg"] $displaypg; if (!$page) $page 1; if (!$url) { $url $_SERVER[…

深度有趣 | 27 服饰关键点定位

简介 介绍如何使用CPM&#xff08;Convolutional Pose Machines&#xff09;实现服饰关键点定位 原理 关键点定位是一类常见而有用的任务&#xff0c;某种意义上可以理解为一种特征工程 人脸关键点定位&#xff0c;可用于人脸识别、表情识别人体骨骼关键点定位&#xff0c;可用…

有答案了!一张图告诉你到底学Python还是Java!你咋看?

2019年&#xff0c;该学Java还是Python&#xff1f;不&#xff0c;实际上应该这样问&#xff1a;都9102年了&#xff0c;难道有谁不想成为Python程序员吗&#xff1f;作为“常青树大佬”Java 和“新晋大佬”Python &#xff0c;经常被人拿来对比&#xff0c;对于刚开始起步学习…

图像二值化----otsu(最大类间方差法、大津算法)(二)

转自&#xff1a;http://blog.stevenwang.name/ostu-threshold-56002.html OTSU算法也称最大类间差法&#xff0c;有时也称之为大津算法&#xff0c;被认为是图像分割中阈值选取的最佳算法&#xff0c;计算简单&#xff0c;不受图像亮度和对比度的影响&#xff0c;因此在数字图…

android同时使用多个library时的问题

剧情是这样&#xff0c;我的app要使用两个library&#xff0c;如&#xff1a;LibraryA&#xff0c;LibraryB。这两个库又都需要support.v4.jar。 由于加载的时间不同&#xff0c;所以两个support.v4.jar不同&#xff0c;出错的提示如下&#xff1a; [2012-09-28 16:37:22 - ] F…

C#版 - Leetcode49 - 字母异位词分组 - 题解

C#版 - Leetcode49 - 字母异位词分组 - 题解 Leetcode49.Group Anagrams 在线提交:https://leetcode.com/problems/group-anagrams/ 题目描述 给定一个字符串数组&#xff0c;将字母异位词组合在一起。字母异位词指字母相同&#xff0c;但排列不同的字符串。 示例: 输入: [&quo…

来学习几个简单的Hive函数吧!

作者 | 石晓文转载自小小挖掘机&#xff08;ID:wAIsjwj&#xff09;咳咳&#xff0c;今天来介绍一下几个Hive函数吧&#xff0c;先放一张我登哥划水的照片&#xff0c;希望大家也做一只自由的鱼儿&#xff0c;在知识的海洋里游呀游&#xff0c;嘻嘻&#xff01;今天我们来介绍几…

OpenCV编程案例:使用轮廓函数检测连通区域

转自&#xff1a;http://www.aiseminar.cn/bbs/thread-617-1-1.html 此案例位于CXCORE中cvDrawContours函数介绍部分给出。此程序首先载入一个二值图像文件&#xff0c;然后使用函数再次二值化确认。接着使用cvFindContours找到轮廓&#xff0c;然后使用填充方式绘制轮廓线内部…

[译]Web Inspector开始支持CSS区域

最近,开发人员和设计师们可以在WebKit中尝试使用CSS区域特性了,我们认为是时候给他们一些开发工具了.最新版本的Chrome Canary中的web inspector现在已经支持下面这些功能: 查找文档中所有的命名流.显示每个命名流的内容和区域链.高亮页面中的CSS区域,就像是把鼠标放在web insp…

这或许是东半球分析十大排序算法最好的一篇文章

作者 | 不该相遇在秋天转载自五分钟学算法&#xff08;ID:CXYxiaowu&#xff09;前言本文全长 14237 字&#xff0c;配有 70 张图片和动画&#xff0c;和你一起一步步看懂排序算法的运行过程。预计阅读时间 47 分钟&#xff0c;强烈建议先收藏然后通过电脑端进行阅读。No.1 冒泡…

opencv使用cvFindContours提取联通域

转自&#xff1a;http://hi.baidu.com/irmosgarden/blog/item/8ce0174c54b307fad72afcbc.html // m_imgFeature为黑白目标图像&#xff0c;白色为前景&#xff0c;黑色为背景 // 注意此函数会修改m_imgFeature内容。若其不可更改&#xff0c;应另建立副本 // 1. count contou…

朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素

朱晔的互联网架构实践心得S1E9&#xff1a;架构评审一百问和设计文档五要素 【下载文本PDF进行阅读】 本文我会来说说我认为架构评审中应该看的一些点&#xff0c;以及我写设计文档的一些心得。助你在架构评审中过五关斩六将&#xff0c;助你写出能让人收藏点赞的设计文档。 技…

Mail Archiving Expert电子邮件归档专家

概况作为企业往来最通用的交流工具&#xff0c;企业中有95%以上的文件都是通过邮件来传递与沟通&#xff0c;但是一旦当邮件服务罢工&#xff0c;影响的不仅仅是企业信息交流无法正确与及时的传达&#xff0c;更可能影响企业与客户之间的交易&#xff0c;其后果更是不堪设想&am…

C++中MessageBox的常见用法

转自&#xff1a;http://blog.csdn.net/qiumingbo/archive/2007/05/25/1625324.aspxMessageBox用法消息框是个很常用的控件&#xff0c;属性比较多&#xff0c;本文列出了它的一些常用方法&#xff0c;及指出了它的一些应用场合。1.MessageBox("这是一个最简单的消息框&am…

对标Mobileye!百度Apollo公布L4级自动驾驶纯视觉解决方案Apollo Lite

美国当地时间6月16日-20日&#xff0c;全球计算机视觉及模式识别领域顶级学术会议CVPR 2019&#xff08;Conference on Computer Vision and Pattern Recognition&#xff09;于美国长滩召开。百度Apollo在CVPR 2019公开了自动驾驶纯视觉城市道路闭环解决方案--百度Apollo Lite…

后台服务项目的白盒测试之旅

本文来自阿网易云社区作者&#xff1a;孙婷婷白盒测试起因17年下半年我开始介入部门新项目的服务v2版本的功能测试。刚接手项目时&#xff0c;感到十分头疼&#xff0c;首先它不像我刚接触测试时做的to C端项目&#xff0c;主要是页面展示操作&#xff0c;黑盒测试足够&#xf…

【自然框架 NatureFW】里的两种“映射”方式

自然框架里面采用了两种映射关系&#xff0c;一个是流行的ORM&#xff0c;另一是非主流的“CCM ” &#xff08;我自己想的&#xff0c;呵呵&#xff09;。 先说一下ORM。ORM是O和R的映射关系。也看到很多人写关于ORM的文章&#xff0c;发现好像有个误区。这个误区就是&#x…

ordfilt2函数功能说明

转自&#xff1a;http://www.ilovematlab.cn/thread-91331-1-1.html ordfilt2函数在MATLAB图像处理工具箱中提供了二维统计顺序滤波函数ordfilt2函数。二维统计顺序滤波是中值滤波的推广&#xff0c;对于给定的n个数值&#xff5b;al ,a2,...,an&#xff5d;&#xff0c;将它们…

今晚直播写代码|英伟达工程师亲授如何加速YOLO目标检测

NVIDIA TensorRT是一种高性能深度学习推理优化器和运行时加速库&#xff0c;可以为深度学习推理应用程序提供低延时和高吞吐量。通过TensorRT&#xff0c;开发者可以优化神经网络模型&#xff0c;以高精度校对低精度&#xff0c;最后将模型部署到超大规模数据中心、嵌入式平台或…

TensorFlow Lite:TensorFlow在移动设备与嵌入式设备上的轻量级跨平台解决方案 | Google 开发者大会 2018...

Google 开发者大会 (Google Developer Days&#xff0c;简称 GDD) 是展示 Google 最新开发者产品和平台的全球盛会&#xff0c;旨在帮助你快速开发优质应用&#xff0c;发展和留住活跃用户群&#xff0c;充分利用各种工具获得更多收益。2018 Google 开发者大会于 9 月 20 日和 …

热烈庆祝“mysql 集群数据库架构成功”

坚持了两周&#xff0c;终于在linux下把mysql集群数据库给架起来了&#xff01;下面简单说明下集群数据库原理 第一&#xff1a;集群数据库分MGM,NDBD,SQL 其中MGM是相当于“中央政府”&#xff0c;维持NDBD&#xff0c;SQL等服务器的之间的关系的 NDBD是数据存储的分布化&…