CN116881224A - 一种数据库参数调优方法、装置、设备及存储介质 - Google Patents

一种数据库参数调优方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116881224A
CN116881224A CN202310848916.1A CN202310848916A CN116881224A CN 116881224 A CN116881224 A CN 116881224A CN 202310848916 A CN202310848916 A CN 202310848916A CN 116881224 A CN116881224 A CN 116881224A
Authority
CN
China
Prior art keywords
parameter
data
time
configuration
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310848916.1A
Other languages
English (en)
Inventor
杨建伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aowei Technology Co ltd
Original Assignee
Beijing Aowei Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Aowei Technology Co ltd filed Critical Beijing Aowei Technology Co ltd
Priority to CN202310848916.1A priority Critical patent/CN116881224A/zh
Publication of CN116881224A publication Critical patent/CN116881224A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种数据库参数调优方法、装置、设备及存储介质,其获取目标数据库中的历史数据,并将所述历史数据划分为若干个第一数据参数集,所述第一数据参数集包括所述目标数据库的版本参数和配置参数;将若干个所述第一数据参数集分别依次输入预训练的时间预测模型和装箱算法中,得到每个所述第一数据参数集对应的版本在目标数据库中运行的时间预测函数;根据所述时间预测函数,通过参数搜索模型计算所述目标数据库的最优参数配置,以加载至所述目标数据库中。本申请具有使数据库能够快速对新环境进行参数调整和优化的效果。

Description

一种数据库参数调优方法、装置、设备及存储介质
技术领域
本申请涉及数据库技术的领域,尤其是涉及一种数据库参数调优方法、装置、设备及存储介质。
背景技术
数据库系统的性能受到其配置参数的影响,不同的参数配置可能会导致系统性能的显著差异。因此,参数优化技术可以通过选择最优的参数配置来提高数据库系统对当前场景的适应性,以提高系统的性能和可靠性。简而言之,参数优化技术可以帮助数据库系统更好地适应不同的业务场景和数据特点,以提高系统的性能和可靠性。
为了更好地适应越来越复杂的业务需求,目前,有两种参数调优方式使用较多;第一种为手动优化,但是手动调参方法完全依赖人工的经验和技能,通常需要不断进行手动实验来积累专家知识,并根据这些经验确定最终的参数配置;第二种为基于规则的优化方法,需要数据库管理员(DBA)对数据库参数进行调整,以优化数据库性能。
然而,随着数据库的更新迭代,数据库的种类越来越多,数据库参数也越来越复杂,对DBA的业务要求越来越高,使得数据库管理员的学习成本不断增加,且调整效率及可靠性也比较低。
发明内容
为了使数据库能够快速对新环境进行参数调整和优化,本申请提供了一种数据库参数调优方法、装置、设备及存储介质。
第一方面,本申请提供一种数据库参数调优方法,采用如下的技术方案:
一种数据库参数调优方法,获取目标数据库中的历史数据,并将所述历史数据划分为若干个第一数据参数集,所述第一数据集包括所述目标数据库的版本参数和配置参数;
将若干个所述第一数据参数集分别依次输入预训练的时间预测模型和装箱算法中,得到每个所述第一数据参数集对应的版本在目标数据库中运行的时间预测函数;
根据所述时间预测函数,通过参数搜索模型计算所述目标数据库的最优参数配置,以加载至所述目标数据库中。
进一步地,时间预测模型,具体包括:
所述时间预测模型包括由多棵决策树组成的随机森林算法,每棵所述决策树的训练集通过对所述第一数据参数集进行引导聚焦生成;
其中,
所述训练集包括从第一数据参数集中有放回地抽取出M个样本,且每个样本独立分布;
利用所述训练集训练决策树;
建立回归树,根据MSE算法对每个样本建立节点,根据所述节点划分所述节点所在的样本,根据所述训练集计算回归树的回归结果,所述节点根据样本的最优特征设立;
将所述回归树的回归结果进行整合并取均值,得到第一预测时间。
进一步地,装箱算法,具体包括:
所述第一预测时间包括第一任务时间、第二任务时间以及第三任务时间;
建立容器集群,所述容器集群包括若干个容器,所述容器包括若干个时间槽,将第一预测时间输入容器集群,得到所述第一任务时间、第二任务时间以及第三任务时间对应的时间槽个数,其中,所述时间槽设置为每个任务类型执行作业时间的计数单位;
基于预设任务类型的优先级,将第一数据参数集内的参数放入容器集群中运行,并根据每一个作业运行完后时间槽的个数计算得到第二预测时间,作业包括第一任务和/或第二任务和/或第三任务;
基于所述第一数据参数集以及第二预测时间之间的对应关系生成时间预测函数。
进一步地,根据所述时间预测函数,通过参数搜索模型计算所述目标数据库的最优参数配置,具体包括:
基于遗传算法,随机获取若干个第二数据参数集,其中,所述时间预测函数设置为遗传算法的适度性函数;
基于所述时间预测函数分别生成每个第二数据参数集中的参数对应的预测时间,作为第二数据参数集的适值;
筛选出N个适值最低的第一参数配置,并根据权重算法计算第一参数配置中的每个配置参数对应的权重;
基于适值选择m个第一参数配置进行交叉操作,得到若干个第二参数配置;
基于权重对若干个第二参数配置进行变异操作,得到第三参数配置;
计算第一参数配置、第二参数配置以及第三参数配置中所有配置参数的适值;
选取适值最低的参数配置得到最优参数配置。
进一步地,交叉操作和变异操作,具体包括:
在待交叉的两个第一参数配置上,对第一参数配置中每个配置参数后添加交叉点;
根据预设规则在所述第一参数配置中设定交叉点;
根据所述交叉点将m个所述第一参数配置进行交叉,得到若干个第二参数配置;
根据所述权重在所述第二参数配置上选取若干个变异点;
所述第二参数配置根据所述变异点进行变异,得到第三参数配置。
进一步地,权重算法,具体包括:
获取第一参数配置中的配置参数;
基于袋外数据计算所述决策树的第一校验误差,其中袋外数据为第一数据集中决策树未使用的数据,第一校验误差用于表示所述决策树的准确率;
随机打乱袋外数据的配置参数,并重新计算决策树的第二校验误差;
将所述第一校验误差与所述第二校验误差相减再求平方和,得到第一参数配置中每个配置参数的权重。
进一步地,选取适值最低的参数配置得到最优参数配置,具体包括:
将多个第一参数配置、多个第二参数配置以及多个第三参数配置依次输入所述时间预测模型和所述装箱算法,得到对应的作业时间,以得到对应的适值;
根据适值筛选出训练参数配置,并依次进行交叉操作和变异操作,得到新的参数配置;
选取适值最低的参数配置,以获得最优参数配置。
第二方面,本申请提供一种数据库参数调优装置,采用如下的技术方案:
一种数据库参数调优装置,包括:
数据获取模块,用于获取目标数据库中的历史数据;
数据处理模块,用于对历史数据进行处理,并将历史数据按照对应关系划分为数据参数集和/或参数配置,以及对参数配置进行筛选;
数据计算模块,用于计算时间预测模型中数据参数集中任务类型对应的作业时间,用于计算装箱算法中数据参数集对应的预测时间,还用于计算参数配置对应的权重。
第三方面,本申请提供一种计算机设备,采用如下的技术方案:
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的一种数据库参数调优方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种数据库参数调优方法的计算机程序。
综上所述,本申请包括以下至少一种有益技术效果:在对数据库进行参数调优时,通过获取目标数据库中的历史数据,其中历史数据包括目标数据库运行时的各种指标和数据,将获取到的历史数据处理并划分为若干个第一数据参数集;之后将若干个第一数据参数集输入预训练的时间预测模型和装箱算法中,以得到每个第一数据参数集对应的版本在目标数据库中运行的时间预测函数,即可根据时间预测函数得到参数配置在目标数据库中运行的预测时间;
最后,通过时间预测函数以及参数搜索模型来计算目标数据库的最优参数配置;通过对数据库中的历史数据的分析及训练,可以得到参数配置与目标数据库的运行性能之间的联系,根据时间预测模型可以预测不同的参数配置在目标数据库中的性能优化程度,从而加快参数优化的进程,并且通过参数搜索模型可以快速计算出最优参数配置,目标数据库根据最优参数配置进行自动化调整和优化,以提升数据库的响应速度,缩短响应时间,使数据库能够快速对新环境进行参数调整和优化。
附图说明
图1是本申请一种数据库参数调优方法的流程图。
图2是本申请一种数据库参数调优方法中的时间预测模型的流程图。
图3是本申请一种数据库参数调优方法中的装箱算法的流程图。
图4是本申请一种数据库参数调优方法中的参数搜索模型的流程图。
图5是本申请一种数据库参数调优方法中的交叉操作和变异操作的流程图。
图6是本申请一种数据库参数调优方法中的权重算法的流程图。
图7是本申请一种数据库参数调优方法中的一种实施例流程图。
图8是本申请一种数据库参数调优装置的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1-8及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
下面简单说明本申请实施例中所涉及的部分技术术语。
数据库:数据库(Database)是指按照一定数据模型组织、存储和管理数据的系统;数据库系统是大型信息系统的核心组成部分,用于存储和管理大量的数据,并提供高效、安全、可靠的数据访问和管理服务。
随机森林模型:随机森林(Random Forest)是一种基于决策树的集成学习算法,用于进行分类和回归任务;随机森林算法的基本思想是通过随机选择特征和随机抽样数据,构建多棵决策树,对数据进行分类或回归预测。
决策树:决策树的基本思想是根据数据的特征属性构建一棵树形结构,通过对数据的逐步分割和判断,实现对数据的分类或回归预测。
装箱算法:装箱算法是将物品按照一定的规则进行分类和排列,以便在有限的空间内尽可能地装下更多的物品;这种算法通常需要考虑物品的大小形状等因素,以及容器的大小形状等因素。
遗传算法:遗传算法(Genetic Algorithm)是一种基于自然进化过程的优化算法,用于求解复杂的优化问题;遗传算法的基本思想是通过模拟生物进化过程,通过选择、交叉和变异等操作,逐步搜索最优解。
本申请实施例公开一种数据库参数调优方法。
包括以下步骤,参照图1,步骤S100:获取目标数据库中的历史数据,并将历史数据划分为若干个第一数据参数集,第一数据参数集包括目标数据库的版本参数和配置参数。
具体地,历史数据是指目标数据库运行时的各种指标和数据,获取历史数据的途径包括数据库配置文件、数据库运行日志、数据库运行时Meterics、数据库内的监控工具和数据库内的统计信息;数据库参数是数据库系统中的一组配置选项,可以控制数据库系统的行为和性能。
应当理解的是,在获取在历史数据后,对历史数据进行预处理,将历史数据转换为可用于建模和分析的格式,以便提高模型的准确性和性能;其中预处理包括两种处理方式:缺失值处理和异常值处理;缺失值处理包括对缺失值,使用删除、插值和填充方法进行处理,以便保持数据的完整性和一致性;异常值处理包括使用均值代替异常值,修正数据集的偏差。
进一步地,对数据预处理后,数据库采集各项历史数据的各个指标,并对历史数据进行解析优化,提取出的指标作为历史数据的特征,并依据特征将历史数据划分为若干个第一数据参数集。
步骤S200:将若干个第一数据参数集分别依次输入预训练的时间预测模型和装箱算法中,得到每个第一数据参数集对应的版本在目标数据库中运行的时间预测函数。
具体地,时间预测模型用于预测每个第一数据参数集中版本的不同任务的执行时间,装箱算法基于时间预测函数输出的执行时间,计算每个第一数据参数集中的版本对应在目标数据库中预测执行时间;依据每个第一数据参数集的版本和对应的预测执行时间之间的关系,得到第一数据参数集中对应版本在目标数据库中的时间预测函数。
步骤S300:根据时间预测函数,通过参数搜索模型计算目标数据库的最优参数配置,以加载至目标数据库中。
具体地,参数搜索模型用于计算目标数据库中预测时间对应的参数配置;在将若干个参数集输入时间预测函数,并输出最短的预测时间时,通过将若干个参数集输入参数搜索模型,以得到最短的预测时间对应的参数配置,从而得到最优参数配置,并自动将最优参数配置加载至目标数据库中,从而实现数据化自动化调整和优化。
上述实施方式中,在对数据库进行参数调优时,通过获取目标数据库中的历史数据,对历史数据进行预处理即清洗数据,再根据历史数据中的特征将历史数据划分为若干个第一数据参数集;之后将若干个第一数据参数集输入预训练的时间预测模型和装箱算法中,以得到每个第一数据参数集对应的版本在目标数据库中运行的时间预测函数;最后,通过时间预测函数以及参数搜索模型来计算目标数据库的最优参数配置;从而使目标数据库根据最优参数配置进行自动化调整和优化,提升目标数数据库的响应效率,缩短响应时间。
参照图2,作为时间预测模型的一种实施方式,时间预测模型包括由多棵决策树组成的随机森林算法,每棵决策树的训练集通过对第一数据参数集进行引导聚焦生成。
时间预测模型,具体包括:
步骤S211:训练集包括从第一数据参数集中有放回地抽取出M个样本,且每个样本独立分布。
具体地,采用bootstrap方式从第一数据参数集中有放回地抽取出M个样本;bootstrap即为随机有放回地抽样,以增加每个训练集的训练结果的准确性。
步骤S212:利用训练集训练决策树。
具体地,通过生成的训练集对决策树进行训练;其中训练集的样本包括任务的执行时间,任务类型以及参数配置,任务类型包括map任务、reduce任务以及shuffle任务,通过将训练集中的k个样本进行训练,达到训练决策树的目的。
步骤S213:建立回归树,根据MSE算法对每个样本建立节点,根据节点划分节点所在的样本,根据训练集计算回归树的回归结果,节点根据样本的最优特征设立。
具体地,回归树用于预测任务的执行时间;MSE算法为均方误差,即是反映样本的预测时间与预测时间之间的差异程度的一种度量;在建立回归树之后,对于每一个样本,从上至下建立节点,通过MSE算法判定样本的最优特征,将节点所在的样本根据最优特征划分为若干个子集,直至回归树收敛,最后根据训练集计算样本在回归树的回归结果。
步骤S214:将回归树的回归结果进行整合并取均值,得到第一预测时间;第一预测时间包括第一任务时间、第二任务时间以及第三任务时间。
具体地,将每个回归树的回归结果进行整合,之后取均值形成最终输出的第一预测时间,第一预测时间包括第一任务对应的第一任务时间,即每个map任务对应的Tmap;第二任务对应的第二任务时间,即每个reduce任务对应的Treduce;第三任务对应的第三任务时间,即每个shuffle任务对应的Tshuffle。
上述实施方式中,通过时间预测模型预测若干个第一数据参数集中的任务执行时间,并且通过随机森林算法来预测多个参数对目标数据库运行时间的影响,以预测到不同任务类型的任务执行时间,使用随机森林算法能够对大规模数据的具有较强的处理能力,且精确地预测目标数据库的性能,以提升数据库的稳定性和可靠性。
参照图3,作为装箱算法的一种实施方式,装箱算法,具体包括:
步骤S221:建立容器集群,容器集群包括若干个容器,容器包括若干个时间槽,将第一预测时间输入容器集群,得到第一任务时间、第二任务时间以及第三任务时间对应的时间槽个数,其中,时间槽设置为每个任务类型执行作业时间的计数单位。
具体地,将目标数据库的执行阶段划分为时间槽,即将任务放置于多个容器内运行,在容器内运行的时间用时间槽表示;并根据时间预测模型输出的第一预测时间,得到第一预测时间内的第一任务时间(Tmap)、第二任务时间(Treduce)以及第三任务时间(Tshuffle)对应的时间槽个数。
步骤S222:基于预设任务类型的优先级,将第一数据参数集内的参数放入容器集群中运行,并根据每一个作业运行完后时间槽的个数计算得到第二预测时间,作业包括第一任务、第二任务和第三任务。
具体地,作业内包括第一任务、第二任务和第三任务,其中第一任务为map任务,其中第二任务为reduce任务,其中第三任务为shuffle任务;其中,预设任务类型的优先级:map任务享有最高的优先级;map任务执行后若有剩余的容器,则可执行reduce任务;在所有map任务执行完之后才能执行shuffle任务,且先执行shuffle任务,shuffle任务执行完后在执行剩余的reduce任务。
进一步地,对于reduce任务来说,在每个参数配置中均存在一个参数配置为mapreduce.job.reduce.slowstart.completedmaps,其决定了在reduce开始之前需要完成的map任务比例,假设这个值是50%,那么理论上只有当5个map任务完成之后才能启动reduce。
应当理解的是,将第一数据参数集内的参数放入容器集群中运行时,根据容器集群中的容器数量与第一数据参数集内参数作业比较;先将部分map任务放入多个容器中运行,在经过多个时间槽该部分map任务完成后,资源释放,再将剩余map任务放入多个容器,此时,有空余的容器,即可将部分reduce任务放入剩余容器中运行;在map任务完全释放完之后,先将shuffle任务放入容器中运行,最后在shuffle任务完成后运行剩余的reduce任务,之后统计作业中的所有任务运行完后时间槽的个数,得到第二预测时间。
步骤S223:基于第一数据参数集以及第二预测时间之间的对应关系生成时间预测函数。
具体地,将若干个第一数据参数集中的参数输入时间预测模型以及装箱算法中,得到每个第一数据参数集对应的第二预测时间,从而根据第一数据参数集以及第二预测时间之间的对应关系生成时间预测函数。
上述实施方式中,将第一数据参数集参数作业以及对应的第一预测时间输入装箱算法中,在每个时间槽的开始,比较可用的容器集群中的容器数量和剩余任务时间,在容器集群中,按照任务执行顺序执行任务,得到该作业的执行时间,即第二预测时间;并根据若干个不同配置的作业与第二预测时间的关系,得到时间预测函数。
例如,容器集群中共有3个容器,经过计算,作业中有5个map任务、4个reduce任务和2个shuffle任务,1个map任务的执行时间是2个时间槽,1个reduce任务的执行时间为1个时间槽,1个shuffle任务的执行时间为1时间槽;
在0时刻共有3个可用容器,可以启动3个map任务,它们的执行时间均为2个时间槽;在1时刻,没有可用资源,故不启动新任务;在2时刻,3个map任务完成,释放3个容器,所以再启动2个map任务和1个reduce任务;在3时刻,1个reduce任务完成,释放1个容器,所以再启动1个reduce任务,在4时刻,2个map任务和1个reduce任务均完成,此时5个map任务均完成,所以可以启动shuffle任务,此时有3个可用容器,启动2个shuffle任务和1个reduce任务;在5时刻,1个reduce任务完成,释放1个容器,所以再启动1个reduce任务,在6时刻,2个shuffle任务和1个reduce任务均完成,释放所有资源,得到第二预测时间,即6个时间槽。
参照图4,作为步骤S300的一种实施方式,根据时间预测函数,通过参数搜索模型计算目标数据库的最优参数配置,具体包括:
步骤S311:基于遗传算法,随机获取若干个第二数据参数集,其中,时间预测函数设置为遗传算法的适度性函数。
具体地,在预处理后的历史数据中随机获取若干个第二数据参数集,第二数据参数集包括目标数据库的版本参数和配置参数,并且将时间预测函数作为遗传算法的适度性函数,通过适度性函数,使遗传算法逐步逼近最优值。
步骤S312:基于时间预测函数分别生成每个第二数据参数集中的参数对应的预测时间,作为第二数据参数集的适值。
具体地,将若干个第二数据参数集分别输入时间预测函数中,通过时间预测函数生成每个第二数据参数集中的参数对应的第二预测时间,并且将该第二预测时间作为每个第二数据参数集的适值;适值作为判断每个第二数据参数集优劣的特征,当适值越低时(即时间预测函数输出的预测时间越短时),表示该适值对应的第二数据参数集越优质(即目标数据库的响应时间越短)。
步骤S313:筛选出N个适值最低的第一参数配置,并根据权重算法计算第一参数配置中的每个配置参数对应的权重。
具体地,根据适值的大小,从第二数据参数集中筛选出N个适值最低的第一参数配置,即从中筛选出N个更优质的第一参数配置进行进一步地计算;在优化第一参数配置前,通过权要算法计算第一参数配置中的每个配置参数对应的权重,通过权重评估该配置参数对适值的影响程度。
步骤S314:基于适值选择m个第一参数配置进行交叉操作,得到若干个第二参数配置。
具体地,根据计算出的若干个第一参数配置的适值,根据适值的占比得到每个第一参数配置被选中的概率,并按照计算得到的概率从N个第一参数配置中采用有放回地抽样方式选择m个第一参数配置进行交叉操作,得到m(m-1)/2个第二参数配置。
步骤S315:基于权重对若干个第二参数配置进行变异操作,得到第三参数配置。
具体地,根据计算出的权要,并按照第二参数配置的权要占比,作为每个第二参数配置被选中的概率,按照计算得到的概率从m(m-1)/2个第二参数配置中采用有放回地抽样方式选择多个第二参数配置进行变异操作,得到多个第三参数配置。
步骤S316:计算第一参数配置、第二参数配置以及第三参数配置中所有配置参数的适值。
具体地,将生成的多个第二参数配置以及多个第三参数配置均输入时间预测函数中,得到每个第二参数配置对应的预测时间即适值,每个第三参数配置对应的预测时间即适值。
步骤S317:选取适值最低的参数配置得到最优参数配置。
上述实施方式中,通过将若干个第二数据参数集和时间预测函数均输入遗传算法中,得到每个第二数据参数集中的参数对应的预测时间即适值;筛选出N个适值最低的第一参数配置,并根据权重算法计算对应的权重;基于适值选择m个第一参数配置进行交叉和变异操作,得到若干个第二参数配置和第三参数配置,再计算第二参数配置和第三参数配置的配置参数对应的预测时间即适值;
将第二参数配置的适值、第二参数配置的适值和第三参数配置的适值进行比较,选取适值最低的参数配置作为最优的参数配置,并自动将最优参数配置加载至目标数据库中,从而通过参数搜索模型中的遗传算法确定最优的数据库参数配置,能够应用智能策略进行自适应调整,能够实现自动化的参数调整和优化,提高数据库系统的性能和可靠性,减少系统故障和停机时间,降低了管理员的工作负担和维护成本。
参照图5,作为交叉操作和变异操作的一种实施方式,具体包括:
步骤S321:在待交叉的两个第一参数配置上,对第一参数配置中每个配置参数后添加交叉点。
步骤S322:根据预设规则在第一参数配置中设定交叉点。
具体地,基于每个第一参数配置的适值,选出m个第一参数配置后,在第一参数配置中的每个配置参数添加交叉点后,即存在一个参数配置chro1={congfig1,congfig2,congfig3,…,congfig(n-1),congfign}中存在n-1个间隙(交叉点)可供交叉使用,根据预设规则即在待交叉的两个第一参数配置上随机设定交叉点,即在n-1个交叉点中随机选择一个交叉点。
步骤S323:根据交叉点将m个第一参数配置进行交叉,得到若干个第二参数配置。
具体地,基于每个第一参数配置的适值,选出m个第一参数配置后,在待交叉的两个第一参数配置的每个配置参数添加交叉点;即存在两个配置参数分别为chro1={congfig11,congfig21,congfig31,…,congfig(n-1)1,congfign1}和chro2={congfig12,congfig22,congfig32,…,congfig(n-1)2,congfign2},若在chro1和chro2中设定交叉点为2号位,即将chro1前2个参数和chro2的后n-2个参数组合形成新的配置参数chronew={congfig11,congfig21,congfig32,…,congfig(n-1)2,congfign2}。
步骤S324:根据权重在第二参数配置上选取若干个变异点。
具体地,根据计算的权要,并按照第二参数配置的权要占比,作为每个第二参数配置被选中的概率,并且在每个选中的第二参数配置上使用轮盘赌的方式选取并设定若干个变异点,其中轮盘赌的方式是指与适值成正比的概率来确定。
步骤S325:第二参数配置根据变异点进行变异,得到第三参数配置。
具体地,被选中的第二参数配置再根据选定的变异点进行变异,得到第三参数配置。
上述实施方式中,通过在选取后的第一参数配置上进行交叉和变异操作,使具有适应性的参数配置被保留下来,不适应的参数配置被淘汰,通过多次重复性操作,保留对于目标数据来说,最为优质的多个参数配置,进而在其中筛选出最优参数配置。
参照图6,作为权重算法的一种实施方式,权重算法,具体包括:
步骤S331:获取第一参数配置中的配置参数。
步骤S332:基于袋外数据计算决策树的第一校验误差,其中袋外数据为第一数据集中决策树未使用的数据,第一校验误差用于表示决策树的准确率。
应当理解地是,在构建决策树时,采用的抽样方式为随机并且有放回的抽取,故对于每棵决策树来说,都有一定的样本数据未参与决策树的生成,即为袋外数据,袋外数据为第一数据集中没有参与决策树生成的数据;第一校验误差用于表示决策树预测结果的准确率,作为验证实际参数的准确率的指标。
步骤S333:随机打乱袋外数据的配置参数,并重新计算决策树的第二校验误差。
步骤S334:将第一校验误差与第二校验误差相减再求平方和,得到第一参数配置中每个配置参数的权重。
上述实施方式中,在计算配置参数的权重时,先通过袋外数据计算某棵决策树的第一校验误差,之后随机打乱袋外数据中的某个配置参数,再次计算该棵决策树的第二校验误差,并将第一校验误差与第二校验误差相减再求平方和,得到该配置参数的权重;若该配置参数的权重值越大,则说明打乱配置参数的影响程度越大,则该配置参数对预测时间的影响程度越大,从而能够快速地计算出参数配置的影响程度。
参照图7,作为步骤S317的一种实施方式,选取适值最低的参数配置得到最优参数配置,具体包括:
步骤S341:将多个第一参数配置、多个第二参数配置以及多个第三参数配置依次输入时间预测模型和装箱算法,得到对应的作业时间,以得到对应的适值。
步骤S342:根据适值筛选出训练参数配置,并依次进行交叉操作和变异操作,得到新的参数配置。
步骤S343:选取适值最低的参数配置,以获得最优参数配置。
上述实施方式中,将多个第一参数配置、多个第二参数配置以及多个第三参数配置依次输入时间预测模型和装箱算法,以得到对应的适值;并从中选取多个适值最小的多个参数配置作为新的训练参数配置,之后再依次进行交叉操作和变异操作,得到新的参数配置;再次将新的参数配置依次输入时间预测模型和装箱算法,以得到对应的适值,并在多个第一参数配置、多个第二参数配置、多个第三参数配置、多个新的训练参数配置以及多个新的参数配置的各适值之间作比较,选取适值最低的参数配置,作为最优参数配置输出。
作为参数搜索模型的一种实施方式,具体还包括:
步骤S351:在合理范围内随机生成多组参数配置。
步骤S352:调用决策回归树得到预测时间,作为参数配置的适值。
步骤S353:根据参数配置适值保留适值最低的多个参数配置。
步骤S354:根据适值计算每个参数配置被选中的概率。
步骤S355:基于每个参数配置被选中的概率,采用有放回抽样的方式随机选择参数配置进行交叉。
步骤S356:采用有放回抽样的方式随机选择参数配置进行变异,根据参数的变异概率即权重占比使用轮盘赌的方式随机选择变异点。
步骤S357:重复步骤S352至步骤S356,直至达到对应的迭代轮数。
步骤S358:选择适值最低的染色体作为最优参数组合输出。
本申请实施例还公开一种数据库参数调优装置。
参照图8,一种数据库参数调优装置包括:
数据获取模块,用于获取目标数据库中的历史数据;
数据处理模块,用于对历史数据进行处理,并将历史数据按照对应关系划分为数据参数集和/或参数配置,以及对参数配置进行筛选;
数据计算模块,用于计算时间预测模型中数据参数集中任务类型对应的作业时间,用于计算装箱算法中数据参数集对应的预测时间,还用于计算参数配置对应的权重。
上述实施方式中,在对数据库进行参数调优时,通过数据获取模块获取目标数据库中的历史数据,之后通过数据处理模块对历史数据进行预处理以及对历史数据进行解析优化,提取出的指标作为历史数据的特征,并依据特征将历史数据划分为若干个第一数据参数集以及第二数据参数集;之后将若干个第一数据参数集输入预训练的时间预测模型和装箱算法中,通过数据计算模块计算时间预测模型中第一数据参数集中任务类型对应的作业时间以及装箱算法中第一数据参数集对应的预测时间,并得到每个第一数据参数集对应的版本在目标数据库中运行的时间预测函数;
之后将第二数据参数集对应的时间预测函数与第二数据参数集输入参数搜索模型,通过数据计算模块计算第二数据参数集对应的预测时间即适值,数据处理模块基于适值对第二数据参数集进行筛选,得到新的参数配置以及参数配置对应的权重,并通过数据计算模块对交叉变异后的参数配置计算适值,最后筛选出最优参数配置,自适应将最优参数配置调整至目标数据库中。
本申请实施例的一种数据库参数调优装置能够实现上述一种数据库参数调优方法的任一种方法,且一种数据库参数调优装置中各个模块的具体工作过程可参考上述方法实施例中的对应过程。
在本申请所提供的几个实施例中,应该理解到,所提供的方法和系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的;例如,某个模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例还公开一种计算机设备。
计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的一种数据库参数调优方法。
本申请实施例还公开一种计算机可读存储介质。
计算机可读存储介质,存储有能够被处理器加载并执行如上述的一种数据库参数调优方法中任一种方法的计算机程序。
其中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用;计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
综上所述,在对数据库进行参数调优时,首先获取目标数据库中的历史数据,并对历史数据进行包括缺失值处理和异常值处理在内的预处理,在对历史数据进行清洗之后,对历史数据进行解析优化提取特征,依据特征将历史数据划分为若干个第一数据参数集;之后通过第一数据参数集训练随机森林算法中的多棵决策树,并建立回归树,根据回归树的回归结果,预测对第一数据参数集中的任务的执行时间,即第一预测时间;将第一数据参数集内的参数放入容器集群中运行前,根据第一预测时间得到对应任务的时间槽个数,并在容器中运行第一数据参数集内的参数,并通过时间槽计数,统计作业中的所有任务运行完后时间槽的个数,得到第二预测时间,并第一数据参数集以及第二预测时间之间的对应关系生成时间预测函数,根据时间预测模型和装箱算法可以预测不同的参数配置在目标数据库中的性能优化程度,从而加快参数优化的进程;
之后,在预处理后的历史数据中随机获取若干个第二数据参数集,并将时间预测函数作为遗传算法的适度性函数,将第二数据参数集输出遗传算法中,首先基于时间预测函数分别生成每个第二数据参数集中的适值即预测时间,其中,适值作为判断每个第二数据参数集优劣的特征,当适值越低时(即时间预测函数输出的预测时间越短时),表示该适值对应的第二数据参数集越优质(即目标数据库的响应时间越短);并从若干个第二数据参数集中筛选出N个适值最低的第一参数配置,通过袋外数据计算第一参数配置中的配置参数对对预测时间的影响程度即权重;进一步地,基于每个第一参数配置的适值,选出m个第一参数配置,在第一参数配置中的每个配置参数添加并设置交叉点后,根据交叉点将m个第一参数配置进行交叉,得到m(m-1)/2个第二参数配置;根据计算的权要,并按照第二参数配置的权要占比,作为每个第二参数配置被选中的概率,并且在每个选中的第二参数配置上使用轮盘赌的方式选取并设定若干个变异点,被选中的第二参数配置再根据选定的变异点进行变异,得到第三参数配置;
最后,将多个第一参数配置、多个第二参数配置以及多个第三参数配置依次输入时间预测模型和装箱算法,以得到对应的适值;并从中选取多个适值最小的多个参数配置作为新的训练参数配置,之后再依次进行交叉操作和变异操作,得到新的参数配置;并在其中选取适值最低的参数配置,作为最优参数配置输出;
通过时间预测模型和装箱算法能够精确预测目标数据库的响应时间,以预测数据性能指标;并且通过参数搜索模型快速计算出最优参数配置,自适应将最优参数配置调整至目标数据库中,以提升数据库的响应时间和响应速度,提高数据库系统的稳定性,降低系统维护成本,使数据库能够快速对新环境进行参数调整和优化。
本申请实施例中可能涉及到的数据集如表1和表2所示,
表1:任务信息以及其对应的描述
表2:参数配置以及其对应的描述
/>
需要说明的是,在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

Claims (10)

1.一种数据库参数调优方法,其特征在于:包括,
获取目标数据库中的历史数据,并将所述历史数据划分为若干个第一数据参数集,所述第一数据参数集包括所述目标数据库的版本参数和配置参数;
将若干个所述第一数据参数集分别依次输入预训练的时间预测模型和装箱算法中,得到每个所述第一数据参数集对应的版本在目标数据库中运行的时间预测函数;
根据所述时间预测函数,通过参数搜索模型计算所述目标数据库的最优参数配置,以加载至所述目标数据库中。
2.根据权利要求1所述一种数据库参数调优方法,其特征在于,时间预测模型,具体包括:
所述时间预测模型包括由多棵决策树组成的随机森林算法,每棵所述决策树的训练集通过对所述第一数据参数集进行引导聚焦生成;
其中,
所述训练集包括从第一数据参数集中有放回地抽取出M个样本,且每个样本独立分布;
利用所述训练集训练决策树;
建立回归树,根据MSE算法对每个样本建立节点,根据所述节点划分所述节点所在的样本,根据所述训练集计算回归树的回归结果,所述节点根据样本的最优特征设立;
将所述回归树的回归结果进行整合并取均值,得到第一预测时间。
3.根据权利要求2所述一种数据库参数调优方法,其特征在于,装箱算法,具体包括:
所述第一预测时间包括第一任务时间、第二任务时间以及第三任务时间;
建立容器集群,所述容器集群包括若干个容器,所述容器包括若干个时间槽,将第一预测时间输入容器集群,得到所述第一任务时间、第二任务时间以及第三任务时间对应的时间槽个数,其中,所述时间槽设置为每个任务类型执行作业时间的计数单位;
基于预设任务类型的优先级,将第一数据参数集内的参数放入容器集群中运行,并根据每一个作业运行完后时间槽的个数计算得到第二预测时间,作业包括第一任务、第二任务和第三任务;
基于所述第一数据参数集以及第二预测时间之间的对应关系生成时间预测函数。
4.根据权利要求3所述一种数据库参数调优方法,其特征在于,根据所述时间预测函数,通过参数搜索模型计算所述目标数据库的最优参数配置,具体包括:
基于遗传算法,随机获取若干个第二数据参数集,其中,所述时间预测函数设置为遗传算法的适度性函数;
基于所述时间预测函数分别生成每个第二数据参数集中的参数对应的预测时间,作为第二数据参数集的适值;
筛选出N个适值最低的第一参数配置,并根据权重算法计算第一参数配置中的每个配置参数对应的权重;
基于适值选择m个第一参数配置进行交叉操作,得到若干个第二参数配置;
基于权重对若干个第二参数配置进行变异操作,得到第三参数配置;
计算第一参数配置、第二参数配置以及第三参数配置中所有配置参数的适值;
选取适值最低的参数配置得到最优参数配置。
5.根据权利要求4所述一种数据库参数调优方法,其特征在于,交叉操作和变异操作,具体包括:
在待交叉的两个第一参数配置上,对第一参数配置中每个配置参数后添加交叉点;
根据预设规则在所述第一参数配置中设定交叉点;
根据所述交叉点将m个所述第一参数配置进行交叉,得到若干个第二参数配置;
根据所述权重在所述第二参数配置上选取若干个变异点;
所述第二参数配置根据所述变异点进行变异,得到第三参数配置。
6.根据权利要求4所述一种数据库参数调优方法,其特征在于,权重算法,具体包括:
获取第一参数配置中的配置参数;
基于袋外数据计算所述决策树的第一校验误差,其中袋外数据为第一数据集中决策树未使用的数据,第一校验误差用于表示所述决策树的准确率;
随机打乱袋外数据的配置参数,并重新计算决策树的第二校验误差;
将所述第一校验误差与所述第二校验误差相减再求平方和,得到第一参数配置中每个配置参数的权重。
7.根据权利要求4-6中任一项所述一种数据库参数调优方法,其特征在于,选取适值最低的参数配置得到最优参数配置,具体包括:
将多个第一参数配置、多个第二参数配置以及多个第三参数配置依次输入所述时间预测模型和所述装箱算法,得到对应的作业时间,以得到对应的适值;
根据适值筛选出训练参数配置,并依次进行交叉操作和变异操作,得到新的参数配置;
选取适值最低的参数配置,以获得最优参数配置。
8.一种数据库参数调优装置,其特征在于,包括:
数据获取模块,用于获取目标数据库中的历史数据;
数据处理模块,用于对历史数据进行处理,并将历史数据按照对应关系划分为数据参数集和/或参数配置,以及对参数配置进行筛选;
数据计算模块,用于计算时间预测模型中数据参数集中任务类型对应的作业时间,用于计算装箱算法中数据参数集对应的预测时间,还用于计算参数配置对应的权重。
9.一种计算机设备,其特征在于:包括存储器、处理器以及储存在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如权利1至7中任一所述的一种数据库参数调优方法。
10.一种计算机可读存储介质,其特征在于,包括存储有能够被处理器加载并执行如权利要求1至7中任一种数据库参数调优方法的计算机程序。
CN202310848916.1A 2023-07-11 2023-07-11 一种数据库参数调优方法、装置、设备及存储介质 Pending CN116881224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310848916.1A CN116881224A (zh) 2023-07-11 2023-07-11 一种数据库参数调优方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310848916.1A CN116881224A (zh) 2023-07-11 2023-07-11 一种数据库参数调优方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116881224A true CN116881224A (zh) 2023-10-13

Family

ID=88256244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310848916.1A Pending CN116881224A (zh) 2023-07-11 2023-07-11 一种数据库参数调优方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116881224A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435580A (zh) * 2023-12-21 2024-01-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435580A (zh) * 2023-12-21 2024-01-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备
CN117435580B (zh) * 2023-12-21 2024-03-22 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备

Similar Documents

Publication Publication Date Title
CN113064879B (zh) 数据库参数调整方法、装置及计算机可读存储介质
CN106096727B (zh) 一种基于机器学习的网络模型构造方法及装置
US7801836B2 (en) Automated predictive data mining model selection using a genetic algorithm
US20200034701A1 (en) Dynamic, automated fulfillment of computer-based resource request provisioning using deep reinforcement learning
CN110956272A (zh) 实现数据处理的方法和系统
US10963802B1 (en) Distributed decision variable tuning system for machine learning
CN116881224A (zh) 一种数据库参数调优方法、装置、设备及存储介质
CN109657884A (zh) 电网供电优化方法、装置、设备和计算机可读存储介质
CN113391894A (zh) 一种基于rbp神经网络的最优超任务网优化方法
CN115145817A (zh) 一种软件测试方法、装置、设备及可读存储介质
CN112130896B (zh) 神经网络模型迁移方法、装置、电子设备及存储介质
CN117573307B (zh) 云环境下多任务的统筹管理方法及系统
CN113095501A (zh) 一种基于深度强化学习的不平衡分类决策树生成方法
CN108256694A (zh) 基于重复遗传算法的模糊时间序列预测系统、方法及装置
CN111221741B (zh) 一种基于遗传算法和日志分析的异常单元测试自动生成的方法
CN112200208B (zh) 基于多维度特征融合的云工作流任务执行时间预测方法
CN117539520B (zh) 固件自适应升级方法、系统以及设备
CN113408735A (zh) 用于模型优化的方法、装置以及存储介质
Li et al. Parameters optimization of back propagation neural network based on memetic algorithm coupled with genetic algorithm
Robnik-Sikonja et al. Package ‘semiArtificial’
CN115620807B (zh) 靶点蛋白分子与药物分子之间相互作用强度的预测方法
CN115393659B (zh) 基于多级决策树的个性化分类流程优化方法和装置
US20230105736A1 (en) Interactive system to assist a user in building a machine learning model
CN118071138A (zh) 目标XGBoost模型的构建方法、装置、计算机设备及存储介质
CN117492993A (zh) 边缘无服务平台中基于函数特征信息的资源配置方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination