基于机器学习的数据库管理系统自动调优系统及方法技术方案

技术编号:36710077 阅读:14 留言:0更新日期:2023-03-01 09:36
本发明专利技术公开了一种基于机器学习的数据库管理系统自动调优系统及方法,属一种数据库调优方法,包括客户端与服务端,客户端启动目标数据库管理系统和基准测试程序,且在基准测试程序收集完成指标和测试数据后,将指标和测试数据传输至服务端。服务端将确定的当前最优的数据库配置参数传输至客户端,客户端根据所述当前最优的数据库配置参数,更新目标数据库管理系统的配置,再次运行基准测试程序,判断当前目标数据库的负载是否达到预期,或者搜索空间是否耗尽。通过机器学习建模的方式进行数据库管理系统调优,降低数据库负载,相对于人工调优的方式而言,机器学习的自动调优能够提升寻找最优的数据库配置参数的速度,节约人工成本,应用范围广阔。应用范围广阔。应用范围广阔。

【技术实现步骤摘要】
基于机器学习的数据库管理系统自动调优系统及方法


[0001]本专利技术涉及一种数据库调优方法,更具体的说,本专利技术主要涉及一种基于机器学习的数据库管理系统自动调优系统及方法。

技术介绍

[0002]数据库管理系统有很多可调节的配置参数,一个数据库管理系统的性能很大程度上取决于这些配置参数,但是,一方面数据库管理系统的配置参数调优是一个NP

hard的问题,另一方面传统的DBA人工调优时间长花费高,且只调优了很小一部分参数。事实上,当前的主流数据库调优还是人工调优,比如公司雇佣高级DBA帮助数据库管理系统调优。另外,也存在一些基于启发式的调优方法,比如PGTune,需要提供硬件配置和数据库版本,PGTune会返回一个计算后的结果。由前述可知,现有的数据库管理系统调优的主流解决方案是人工调优,其次是基于启发式的调优方案,也有一些学术界的调优方案,主要是没有经过工业化的洗礼,方案的可行性有待进一步商榷。而人工调优方案最大的缺点是就是人,人工成本高,调试周期长,而且数据库管理系统严重依赖环境,配置参数迁移成本高。如果有成千上万个数据库集群,人工调优基本上是不可能的。当然人工调优最大的优点也是人,人能处理各种异常情况,可适应性强。启发式的调优方案的缺点是无法找到最优的调优方案,但启发式调优方案会权衡调优时间和成本等。基于机器学习和深度强化学习的调优方案还没有被工业界大量采用,可能还要考虑更多的场景。

技术实现思路

[0003]本专利技术的目的之一在于针对上述不足,提供一种基于机器学习的数据库管理系统自动调优系统及方法,以期望解决现有技术中数据库人工调优成本高,周期长,启发式调优方案无法找到最佳的调优方案等技术问题。
[0004]为解决上述的技术问题,本专利技术采用以下技术方案。
[0005]本专利技术一方面提供了一种基于机器学习的数据库管理系统自动调优系统,所述系统包括:客户端,用于启动目标数据库管理系统和基准测试程序,且在基准测试程序收集完成目标数据库管理系统的指标和测试数据后,将所述指标和测试数据传输至服务端。
[0006]服务端,用于将所述指标和测试数据解析后,保存到模型数据库中。
[0007]服务端还用于同时将所述指标和测试数据传输至工作负载特征化模块。
[0008]工作负载特征化模块选择确定指标和测试数据中的冗余部分,并进行裁剪,然后将裁剪后的指标和测试数据传输至配置参数调整模块。
[0009]配置参数调整模块选择确定指标和测试数据中最具影响负载的配置参数,然后将所述指标和测试数据传输至自动化调优模块。
[0010]自动化调优模块根据模型数据库中的所述指标和测试数据解析,以及指标和测试数据中最具影响负载的配置参数,产生当前最优的数据库配置参数。
[0011]服务端还用于将所述当前最优的数据库配置参数传输至客户端。
[0012]客户端还用于根据所述当前最优的数据库配置参数,更新目标数据库管理系统的配置,再次运行基准测试程序,判断当前目标数据库的负载是否达到预期,或者搜索空间是否耗尽。
[0013]作为优选,进一步的技术方案是:所述工作负载特征化模块通过因子分析法确定指标和测试数据中的冗余部分。
[0014]更进一步的技术方案是:所述配置参数调整模块利用Lasso的方法得到配置参数个数的超参数,所述超参数为指标和测试数据中最具影响负载的配置参数。
[0015]本专利技术所提供的一种基于机器学习的数据库管理系统自动调优方法,所述的方法包括如下步骤:步骤A、客户端启动目标数据库管理系统和基准测试程序,且在基准测试程序收集完成目标数据库管理系统的指标和测试数据后,将所述指标和测试数据传输至服务端。
[0016]步骤B、服务端将所述指标和测试数据解析后,保存到模型数据库中;并同时将所述指标和测试数据传输至工作负载特征化模块。
[0017]步骤C、工作负载特征化模块选择确定指标和测试数据中的冗余部分,并进行裁剪,然后将裁剪后的指标和测试数据传输至配置参数调整模块。
[0018]步骤D、配置参数调整模块选择确定指标和测试数据中最具影响负载的配置参数,然后将所述指标和测试数据传输至自动化调优模块。
[0019]步骤E、自动化调优模块根据模型数据库中的所述指标和测试数据解析,以及指标和测试数据中最具影响负载的配置参数,产生当前最优的数据库配置参数。
[0020]步骤F、服务端将所述当前最优的数据库配置参数传输至客户端。
[0021]步骤G、客户端根据所述当前最优的数据库配置参数,更新目标数据库管理系统的配置,并再次运行基准测试程序,然后判断当前目标数据库的负载是否达到预期;如判断结果为是,则继续判断搜索空间是否耗尽;反之则重复步骤A至步骤G;如判断搜索空间是否耗尽的结果为否,则按照当前最优的数据库配置参数 对目标数据库管理系统进行调优,反之则重复步骤A至步骤G。
[0022]作为优选,进一步的技术方案是:所述工作负载特征化模块通过因子分析法确定指标和测试数据中的冗余部分。
[0023]更进一步的技术方案是:所述配置参数调整模块利用Lasso的方法得到配置参数个数的超参数,所述超参数为指标和测试数据中最具影响负载的配置参数。
[0024]与现有技术相比,本专利技术的有益效果之一是:通过机器学习建模的方式进行数据库管理系统调优,降低数据库负载,相对于人工调优的方式而言,机器学习的自动调优能够提升寻找最优的数据库配置参数的速度,节约人工成本,应用范围广阔。
附图说明
[0025]图1为用于说明本专利技术一个实施例的系统结构示意框图。
[0026]图2为用于说明本专利技术另一个实施例的方法流程图。
具体实施方式
[0027]本专利技术中所指的数据库管理系统自动调优,是指数据库管理系统有很多可调节的配置参数,一个数据库管理系统的性能很大程度上取决于这些配置参数。因此如何准确的找到这些配置参数,对于降低数据库负载有着直接的关系。目前通过DBA人工调优的成本很高,且只调优了很小一部分参数。如果利用机器学习来实现一种数据库管理系统自动调优的方法,不但可以节约大量的人力成本,而且调优速度快,调优范围广。
[0028]本专利技术所称的数据库管理系统自动调优主要的功能有三块组成,分别是工作负载特征化模块、配置参数调整模块和自动化调优模块。工作负载特征化模块使用数据库内部指标来特征化工作负载,数据库内部指标有一定的冗余性,可以利用因子分析的方法对数据库指标剪裁并利用聚类去除冗余的指标以降低机器学习模型的复杂度;数据库管理系统有数百个配置参数,可能只有部分影响负载,配置参数调整模块利用Lasso的方法来选择最具影响负载的配置参数,为了优化配置参数个数这个超参数,我们通过不断增加参数个数来自动化这个过程;自动化调优模块是整个调优过程的粘合剂,自动化调优模块利用从基准测试中获取的测试数据,首先对工作负载特征化模块的模型进行调整,然后对配置参数调整模块的模型进行调整,最后基于历史的数据和当前数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于机器学习的数据库管理系统自动调优系统,其特征在于所述的系统包括:客户端,用于启动目标数据库管理系统和基准测试程序,且在基准测试程序收集完成目标数据库管理系统的指标和测试数据后,将所述指标和测试数据传输至服务端;服务端,用于将所述指标和测试数据解析后,保存到模型数据库中;所述服务端还用于同时将所述指标和测试数据传输至工作负载特征化模块;所述工作负载特征化模块选择确定指标和测试数据中的冗余部分,并进行裁剪,然后将裁剪后的指标和测试数据传输至配置参数调整模块;所述配置参数调整模块选择确定指标和测试数据中最具影响负载的配置参数,然后将所述指标和测试数据传输至自动化调优模块;所述自动化调优模块根据模型数据库中的所述指标和测试数据解析,以及指标和测试数据中最具影响负载的配置参数,产生当前最优的数据库配置参数;所述服务端还用于将所述当前最优的数据库配置参数传输至客户端;所述客户端还用于根据所述当前最优的数据库配置参数,更新目标数据库管理系统的配置,再次运行基准测试程序,判断当前目标数据库的负载是否达到预期,或者搜索空间是否耗尽。2.根据权利要求1所述的基于机器学习的数据库管理系统自动调优系统,其特征在于:所述工作负载特征化模块通过因子分析法确定指标和测试数据中的冗余部分。3.根据权利要求1或2所述的基于机器学习的数据库管理系统自动调优系统,其特征在于:所述配置参数调整模块利用Lasso的方法得到配置参数个数的超参数,所述超参数为指标和测试数据中最具影响负载的配置参数。4.一种基于机器学习的数据库管理系统自动调优方法,其特征在于...

【专利技术属性】
技术研发人员:袁文星颜陈凡祎李建衡
申请(专利权)人:贵州易鲸捷信息技术有限公司
类型:发明
国别省市:

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

1