随着云计算的迅速发展,中小型企业通过购买云数据库服务系统,来代替自建和维护数据库服务系统的情况越来越多,以便节约人力物力。然而,大多数用户在购买云数据库服务系统后仅仅停留在使用层面上,在使用过程中经常遇到数据库系统性能下降的情况,由于缺少数据库管理系统性能优化的经验,用户很难发现导致数据库系统性能下降的原因并有效地解决,这就需要云服务提供商为用户及时地调整数据库系统参数,以保证数据库的性能维持在一个较优的状态。对于拥有数十万计用户实例的云服务提供商来说,完全依赖数据库专家进行数据库参数调优显然是不现实的,如何利用AI技术解决数据库系统性能问题已经变得越来越重要和紧迫。
信息存储与光显示功能实验室博士生张霁在周可教授的指导下与腾讯公司合作的最新研究成果An End-to-End Automatic Cloud Database Tuning System Using Deep Reinforcement Learning首次提出了一种基于深度强化学习的端到端的云数据库自动性能优化系统 CDBTune,该系统可以在缺少相关经验数据训练的情况下建立优化模型,为云数据库用户提供在线自动优化数据库性能的服务,性能调优结果与数据库专家相比大幅提高,这也将极大地提高数据库运维效率。
CDBTune 的工作过程主要分为离线训练和在线调优两个步骤。离线训练就是用一些标准的负载生成器对数据库进行压测,边收集训练数据,边训练一个初步的配置推荐模型。当用户或者系统管理员有数据库性能优化需求时,可以通过相应的交互接口提出在线调参优化请求,此时云端的控制器通过给智能优化系统发出在线调参请求,如图1所示,并根据用户真实负载对之前建立好的初步模型进行微调,然后将模型微调后推荐出的相应的参数配置在数据库中进行设置。反复执行上述过程,直到待调参的数据库性能满足用户或系统管理员的需求即停止调参。如图2所示,在多种不同负载和不同类型的数据库下进行的大量实验证明,CDBTune性能优化结果明显优于目前已有数据库调优工具和DBA专家。即使在弹性云环境下,用户购买数据库内存或磁盘大小发生变化,或负载发生变化(类型不变)的情况下,实验证明CDBTune依然保持了较好的适应能力。
图1 CDBTune系统交互图
不同负载下的性能比较 内存/磁盘容量变化对模型的影响
图2 CDBTune性能测试结果
该研究成果已经被国际数据库顶级会议 SIGMOD 长文全文收录,该会议将于 6 月 30 日在荷兰阿姆斯特丹召开。ACM SIGMOD 2019是中国计算机学会推荐的A类国际学术会议,是数据库领域具有最高学术地位的国际性学术顶级会议。
周可教授团队与腾讯公司成立智能云存储技术联合研究中心,该中心于2018年成立,旨在通过强强联合,建设一流的智能云存储技术创新和人才培养平台。通过吸引汇聚顶尖专业人才,腾讯与华中科技大学在分布式存储技术、高性能存储引擎、业务负载预测等方面开展联合技术攻关,突破超大规模云存储服务系统的诸多技术难题,推动智能云存储技术的科技创新及技术应用落地。本次入选的论文,正是智能云存储技术联合研究中心的联合研究成果之一。
该研究工作得到了国家自然科学基金创新群体项目(No.61821003)和国家重点研发计划项目(No.2016YFB0800402)的支持。