基于流量镜像的数据库自学习优化方法及装置制造方法及图纸

技术编号:21891644 阅读:46 留言:0更新日期:2019-08-17 14:24
本发明专利技术提供一种基于流量镜像的数据库自学习优化方法,包括:通过自适应学习方法获取待优化数据库的最新数据库配置参数,将最新数据库配置参数发送给训练数据库;建立与待优化数据库的数据库模型一致的数据库镜像模型,并将数据库镜像模型发送给训练数据库;建立与待优化数据库接收到的流量模型一致的流量镜像模型,并将流量镜像模型发送给训练数据库;获取反馈自训练数据库的训练结果;根据训练数据库的训练结果更新待优化数据库的数据库配置参数;重复上述步骤R次,获取R次的训练结果中训练数据库的TPS吞吐量为最大值时的最新数据库配置参数,作为数据库最终配置参数配置给待优化数据库。对于真实流量场景,可以有效提升数据库的性能。

Self-learning optimization method and device of database based on flow mirror

【技术实现步骤摘要】
基于流量镜像的数据库自学习优化方法及装置
本专利技术涉及数据库配置领域,具体地涉及一种基于流量镜像的数据库自学习优化方法和一种基于流量镜像的数据库自学习优化装置。
技术介绍
多数据库通常有很多参数,例如MySQL、PostgreSQL有数百个参数,而Oracle的参数数量则是千级别,这些参数会影响数据库的运行过程,从而对数据库的整体吞吐及响应时间等性能指标产生较大影响。对于某个数据库应用场景,恰当的参数选择可以使得性能提升数倍。为了提升数据库的性能,公司通常需要聘请专业DBA对数据库参数调优。然而对于不同的应用场景、不同的负载、不同的硬件及操作系统,所需要的最优参数往往也会有不同,DBA通常需要花费大量时间对系统进行参数优化,并且难于得到最优参数。另外,还有一些业务场景,例如运营活动时,数据量流量将会有数倍的增长,由于缺乏流量模拟环境,DBA会更难以给出最佳的性能参数。现有技术的解决方案包括:(1)DBA调优,主要依赖于DBA的优化经验,对硬件、系统、数据库版本、数据库负载的分析并进行调参。人工对优化系统优化效果进行观察和再调优。(2)传统自动或机器学习调优,在TPCC等场景下,对数本文档来自技高网...

【技术保护点】
1.一种基于流量镜像的数据库自学习优化方法,所述自学习优化方法包括如下步骤:S1)通过自适应学习方法获取待优化数据库的最新数据库配置参数,将所述最新数据库配置参数发送给训练数据库;S2)建立与所述待优化数据库的数据库模型一致的数据库镜像模型,并将所述数据库镜像模型发送给所述训练数据库;S3)建立与所述待优化数据库接收到的流量模型一致的流量镜像模型,并将所述流量镜像模型发送给所述训练数据库;S4)获取反馈自所述训练数据库的训练结果;S5)根据所述训练数据库的训练结果更新所述待优化数据库的数据库配置参数;S6)重复执行步骤S1)~S5)R次,获取所述R次的训练结果中所述训练数据库的TPS吞吐量为最...

【技术特征摘要】
1.一种基于流量镜像的数据库自学习优化方法,所述自学习优化方法包括如下步骤:S1)通过自适应学习方法获取待优化数据库的最新数据库配置参数,将所述最新数据库配置参数发送给训练数据库;S2)建立与所述待优化数据库的数据库模型一致的数据库镜像模型,并将所述数据库镜像模型发送给所述训练数据库;S3)建立与所述待优化数据库接收到的流量模型一致的流量镜像模型,并将所述流量镜像模型发送给所述训练数据库;S4)获取反馈自所述训练数据库的训练结果;S5)根据所述训练数据库的训练结果更新所述待优化数据库的数据库配置参数;S6)重复执行步骤S1)~S5)R次,获取所述R次的训练结果中所述训练数据库的TPS吞吐量为最大值时的最新数据库配置参数,并将该最新数据库配置参数作为数据库最终配置参数配置给所述待优化数据库。2.根据权利要求1所述的自学习优化方法,其特征在于,所述步骤S1)中,所述待优化数据库为含训练数据的待优化数据库、不含训练数据的待优化数据库和训练数据不足的待优化数据库中的一者;所述训练数据包括所述待优化数据库的数据库原始配置参数和TPS吞吐量。3.根据权利要求2所述的自学习优化方法,其特征在于,在所述待优化数据库为含训练数据的待优化数据库的情况下,所述步骤S1)中的自适应学习方法实现步骤为:S11)训练数据获取:对于具有K个数据库原始配置参数的待优化数据库,采用随机采样的方式在所述K个数据库原始配置参数的每个数据库原始配置参数的可选范围内选取一个值作为随机数据库配置参数;随机采样N组,组成N组随机数据库配置参数,每组包含K个随机数据库配置参数;使用所述N组随机数据库配置参数中的每一组随机数据库配置参数启动数据库实例,进行流量回放性能测试,获取每一组随机数据库配置参数的TPS吞吐量;S12)训练数据特征化:对步骤S11)中获取的N组随机数据库配置参数进行特征向量化,建立特征矩阵;S13)选取关键参数:使用高斯过程回归,从N组随机数据库配置参数中选取对TPS吞吐量影响力最大的M个随机数据库配置参数,为所述特征矩阵降维,获得参数配置与TPS结果模型,所述参数配置与TPS结果模型用于描述M个随机数据库配置参数与TPS吞吐量之间的关系;所述M是小于K的正整数;S14)推荐配置参数:使用所述参数配置与TPS结果模型推荐所述最新数据库配置参数。4.根据权利要求2所述的自学习优化方法,其特征在于,在所述待优化数据库为不含训练数据或训练数据不足的待优化数据库的情况下,所述步骤S1)中的自适应学习方法为采用深度强化学习模型获取所述最新数据库配置参数。5.根据权利要求1所述的自学习优化方法,其特征在于,所述步骤S3)还包括:将所述流量镜像模型中的流量按其倍数调整,并将调整后的流量镜像模型发送给所述训练数据库。6.根据权利要求1所述的自学习优化方法,其特征在于,所述步骤S4)中,所述训练结果包括:TPS吞吐量、时延、CPU消耗、内存消耗和IO消耗。7.根据权利要求1所述的自学习优化方法,其特征在于,所述训练数据库有P个,步骤S1)包括同时将P个不同的最新数据库配置参数分别发送给所述P个训练数据库;步骤S4)包括获取反馈自所述P个训练数据库的训练结果;步骤S5)包括根据所述P个训练数据库的训练结果更新所述待优化数据库的数据库配置参数。8.根据权利要求1所述的自学习优化方法,其特征在于,步骤S6)中,所述数据库最终配置参数为支持在线调整类参数或重启数据库实例类参数;在所述数据库最终配置参数为支持在线调整类参数的情况下,步骤S6)还包括:自动将所述数据库最终配置参数配置给所述待优化数据库,并持续记录所述待优化数据库的负载情况;在所述数据库最终配置参数为重启数据库实例类参数的情况下,步骤S6)还包括:由数据库管理人员将所述数据库最终配置参数配置给所述待优化数据库,以及重启所述待优化数据库。9.一种基于流量镜像的数据库自学习优化装置,其特征在于,包括:自学习系统服务端,用于:通过自适应学习方法获取待优化数据库的最新数据库配置参数,将所述最新数据库配置参数发送给训练数据库;建立与所述...

【专利技术属性】
技术研发人员:周坤龙
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1