[发明专利]基于流量镜像的数据库自学习优化方法及装置有效
申请号: | 201910307572.7 | 申请日: | 2019-04-17 |
公开(公告)号: | CN110134665B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 周坤龙 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/25 |
代理公司: | 北京润平知识产权代理有限公司 11283 | 代理人: | 肖冰滨;王晓晓 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 流量 数据库 自学习 优化 方法 装置 | ||
本发明提供一种基于流量镜像的数据库自学习优化方法,包括:通过自适应学习方法获取待优化数据库的最新数据库配置参数,将最新数据库配置参数发送给训练数据库;建立与待优化数据库的数据库模型一致的数据库镜像模型,并将数据库镜像模型发送给训练数据库;建立与待优化数据库接收到的流量模型一致的流量镜像模型,并将流量镜像模型发送给训练数据库;获取反馈自训练数据库的训练结果;根据训练数据库的训练结果更新待优化数据库的数据库配置参数;重复上述步骤R次,获取R次的训练结果中训练数据库的TPS吞吐量为最大值时的最新数据库配置参数,作为数据库最终配置参数配置给待优化数据库。对于真实流量场景,可以有效提升数据库的性能。
技术领域
本发明涉及数据库配置领域,具体地涉及一种基于流量镜像的数据库自学习优化方法和一种基于流量镜像的数据库自学习优化装置。
背景技术
多数据库通常有很多参数,例如MySQL、PostgreSQL有数百个参数,而Oracle的参数数量则是千级别,这些参数会影响数据库的运行过程,从而对数据库的整体吞吐及响应时间等性能指标产生较大影响。对于某个数据库应用场景,恰当的参数选择可以使得性能提升数倍。为了提升数据库的性能,公司通常需要聘请专业DBA对数据库参数调优。然而对于不同的应用场景、不同的负载、不同的硬件及操作系统,所需要的最优参数往往也会有不同,DBA通常需要花费大量时间对系统进行参数优化,并且难于得到最优参数。
另外,还有一些业务场景,例如运营活动时,数据量流量将会有数倍的增长,由于缺乏流量模拟环境,DBA会更难以给出最佳的性能参数。
现有技术的解决方案包括:
(1)DBA调优,主要依赖于DBA的优化经验,对硬件、系统、数据库版本、数据库负载的分析并进行调参。人工对优化系统优化效果进行观察和再调优。
(2)传统自动或机器学习调优,在TPCC等场景下,对数据库系统设置不同的参数,并进行训练,获取训练结果作为训练集。训练出数据库参数和性能(吞吐量、访问时延)模型,并且进行探索后调整参数再训练,最终选择出最佳的参数推荐给数据库。
上述技术方案存在以下缺点:
(1)面对上百个性能参数,DBA需要分析数据库的负载情况,结合数据库访问SQL的类型以及个人经验给出参数配置,并且进行测试观察,时间及人工成本开销大。
(2)对于预期流量增长的场景,DBA缺乏预估的模型验证,通常需要使用经验进行预估,参数设置的效果好坏,不仅依赖于DBA的经验,所尝试的配置难有规律可循,难于达到最佳。
(3)另外还存在场景单一、流量不可变、依赖训练数据、训练串行化、不支持在线优化等缺点。
发明内容
本发明的目的是针对上述问题,提供一种基于流量镜像的数据库自学习优化方法及一种基于流量镜像的数据库自学习优化装置。
为了实现上述目的,在本发明第一方面,提供一种基于流量镜像的数据库自学习优化方法,所述方法包括如下步骤:
S1)通过自适应学习方法获取待优化数据库的最新数据库配置参数,将所述最新数据库配置参数发送给训练数据库;
S2)建立与所述待优化数据库的数据库模型一致的数据库镜像模型,并将所述数据库镜像模型发送给所述训练数据库;
S3)建立与所述待优化数据库接收到的流量模型一致的流量镜像模型,并将所述流量镜像模型发送给所述训练数据库;
S4)获取反馈自所述训练数据库的训练结果;
S5)根据所述训练数据库的训练结果更新所述待优化数据库的数据库配置参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910307572.7/2.html,转载请声明来源钻瓜专利网。