CN117435580B - 一种数据库参数筛选方法及相关设备 - Google Patents

一种数据库参数筛选方法及相关设备 Download PDF

Info

Publication number
CN117435580B
CN117435580B CN202311768469.5A CN202311768469A CN117435580B CN 117435580 B CN117435580 B CN 117435580B CN 202311768469 A CN202311768469 A CN 202311768469A CN 117435580 B CN117435580 B CN 117435580B
Authority
CN
China
Prior art keywords
parameter
database
configuration parameters
training
performance
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.)
Active
Application number
CN202311768469.5A
Other languages
English (en)
Other versions
CN117435580A (zh
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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202311768469.5A priority Critical patent/CN117435580B/zh
Publication of CN117435580A publication Critical patent/CN117435580A/zh
Application granted granted Critical
Publication of CN117435580B publication Critical patent/CN117435580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种数据库参数筛选方法及相关设备,所述方法包括:获取训练数据库配置参数,并进行预处理,得到数据库参数训练集;获取预设规则集,根据预设规则集构建参数性能决策树,并转化为树状神经网络预测模型;根据数据库参数训练集对树状神经网络预测模型进行训练,得到参数性能预测模型;获取当前数据库配置参数,并输入至参数性能预测模型,得到当前数据库配置参数对应的参数性能;计算当前数据库配置参数对参数性能的贡献度,并根据贡献度对当前数据库配置参数进行参数筛选。本发明通过构建参数性能预测模型来计算数据库中配置参数的贡献度,并根据贡献度对数据库中的配置参数进行筛选,大大的提升了数据库的查询效率。

Description

一种数据库参数筛选方法及相关设备
技术领域
本发明涉及数据库优化技术领域,尤其涉及一种数据库参数筛选方法及相关设备。
背景技术
近年来,在大数据环境下,面对不断膨胀的数据信息、复杂多样的应用场景、异构的硬件架构和参差不齐的用户使用水平,传统数据库技术很难适应这些新的场景和变化。由于数据量的持续增大,对单个查询任务的处理速度有了更高的要求;同时,查询负载的快速变化及其多样性使得数据库配置和查询优化无法实时地调整为最佳运行时状态。
目前现有技术中深度强化学习融合了深度学习的感知能力和强化学习的决策能力,在数据库自动参数配置场景下是可行性较高的解决方案。但是,数据库系统中有成百上千的配置参数,但并不是所有参数都对性能有重要影响。如果在进行自动参数调整任务时考虑所有这些参数,则会产生数据库参数调整难度大,参数调整效率低的问题,从而导致无法满足客户调用数据库的需求。
因此,现有技术还有待于改进和发展。
发明内容
本发明的主要目的在于提供一种数据库参数筛选方法、系统、终端及计算机可读存储介质,旨在解决现有技术中由于数据库中存在的配置参数众多,从而导致数据库参数调整难度大,参数调整效率低,无法满足客户调用数据库需求的问题。
为实现上述目的,本发明提供一种数据库参数筛选方法,所述数据库参数筛选方法包括如下步骤:
获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;
获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;
根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;
获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;
计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
可选地,所述的数据库参数筛选方法,其中,所述获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集,具体包括:
获取训练数据库配置参数,并在所述训练数据库配置参数的预设取值范围内进行采样,得到样本参数数据;
对所述样本参数数据进行去除枚举类型处理和归一化处理,得到所述数据库参数训练集。
可选地,所述的数据库参数筛选方法,其中,所述获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,具体包括:
获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树;
将所述性能预测决策树中的所述内节点转化为网络隐藏层,将所述叶节点转化为特征向量,并根据所述网络隐藏层和所述特征向量构建所述树状神经网络预测模型。
可选地,所述的数据库参数筛选方法,其中,所述获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树,具体包括:
获取所述预设规则集中的所述训练数据库配置参数以及所述训练数据库配置参数对应的参数性能,根据所述训练数据库配置参数和预设阈值构建内节点,并根据所述参数性能构建叶节点;
根据所述内节点和所述叶节点构建所述性能预测决策树,其中,所述内节点对应所述预设规则集,所述叶节点对应所述参数性能。
可选地,所述的数据库参数筛选方法,其中,所述根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型,具体包括:
将所述数据库参数训练集输入至所述树状神经网络预测模型中,得到所述数据库参数训练集对应的参数性能预测均值;
对所述参数性能预测均值进行交叉熵损失计算,得到损失结果,并根据所述损失结果对所述树状神经网络预测模型进行微调,得到所述参数性能预测模型。
可选地,所述的数据库参数筛选方法,其中,所述参数性能预测模型的表达式为:
其中,P为数据库配置参数的参数性能,j为当前叶子结点的编号,Leaf为树模型的叶子结点,W j 为叶子结点j结点的权重,i为从内节点到当前叶子结点j的路径上的一个节点,σ为sigmoid函数,α为超参数,w i 为特征向量,代表该节点上不同特征对应的权值,X是输入的配置参数向量,c i 是节点上不同特征对应的阈值。
可选地,所述的数据库参数筛选方法,其中,所述计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选,具体包括:
根据夏利普指数计算所述当前数据库配置参数对所述参数性能的贡献度,并对所述贡献度进行绝对值计算和均值计算,得到夏利普值;
将所述当前数据库配置参数按所述夏利普值从大到小的顺序进行排列,并按从大到小的顺序提取预设数量所述夏利普值对应的当前数据库配置参数。
此外,为实现上述目的,本发明还提供一种数据库参数筛选系统,其中,所述数据库参数筛选系统包括:
参数训练集获取模块,用于获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;
预测模型生成模块,用于获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;
预测模型训练模块,用于根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;
参数性能获取模块,用于获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;
参数筛选模块,用于计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库参数筛选程序,所述数据库参数筛选程序被所述处理器执行时实现如上所述的数据库参数筛选方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有数据库参数筛选程序,所述数据库参数筛选程序被处理器执行时实现如上所述的数据库参数筛选方法的步骤。
本发明中,获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。本发明通过构建参数性能决策树,并采集数据库的配置参数对参数性能决策树进行训练,以构建参数性能预测模型,可以根据参数性能预测模型对数据中的配置参数进行筛选,得到其中贡献度较高的配置参数,使得当数据库面对冗余的配置参数进行查询时,能够迅速且准确地推荐贡献度高的配置参数进行查询,不仅提高了数据库的查询效率,同时也缓解了查询中数据库系统的压力。
附图说明
图1是本发明数据库参数筛选方法的较佳实施例的流程图;
图2是本发明数据库参数筛选方法的较佳实施例的拉丁超立方采样对MySQL的两个参数采样结果的示意图;
图3是本发明数据库参数筛选方法的较佳实施例的数据库性能决策树模型的示意图;
图4是本发明数据库参数筛选方法的较佳实施例的决策树转化为神经网络模型的示意图;
图5是本发明数据库参数筛选方法的较佳实施例MySQL配置参数重要性排序的示意图;
图6是本发明数据库参数筛选方法的较佳实施例的采用不同参数调整方法在线调优时MySQL性能与参数调整步数的关系的示意图;
图7是本发明数据库参数筛选系统的较佳实施例的结构图;
图8为本发明终端的较佳实施例的结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
近年来,在大数据环境下,面对不断膨胀的数据信息、复杂多样的应用场景、异构的硬件架构和参差不齐的用户使用水平,传统数据库技术很难适应这些新的场景和变化。首先,数据量持续增大,对单个查询任务的处理速度有了更高的要求;其次,查询负载的快速变化及其多样性使得数据库配置和查询优化不能实时地调整为最佳运行时状态。深度强化学习融合了深度学习的感知能力和强化学习的决策能力,在数据库自动参数配置场景下是可行性较高的解决方案。然而,现有基于强化学习的参数调整方法还存在许多问题:数据库系统中往往有成百个配置参数,如果执行参数调整任务时考虑所有这些参数,整个搜索空间将非常大,很难在短时间内得到每个参数的最优值。
数据库的配置参数有数百个,且其中有很多冗余信息,以往的数据库参数调整方式并没有对配置参数进行预处理,要么把所有参数全部作为待调整参数,要么人为设定几个待调的参数,前者会导致强化学习的动作空间过大,训练难以收敛;后者则过度依赖先验知识(相关人员自行选择配置参数),难以适应不同的数据库系统环境。
因此,本发明提出了一种数据库参数筛选方法.该方法首先构建数据库性能预测模型,充分利用数据库参数训练集提升该模型的训练效率和性能。再根据夏普利可加解释方法计算出样本中每个配置参数对性能的贡献,从而筛选对性能影响最大的一些参数作为待调整参数。
本发明提供了一种数据库参数筛选方法,包括以下步骤:1、获取数据库配置参数列表;2、构建基于预设规则集的性能预测模型;3、采用拉丁超立方采样方法构建训练数据集;4、训练性能预测模型;5、利用夏普利指数的分析数据库中配置参数对性能的贡献度;6、筛选出对性能有重要影响的数据库参数。
本发明较佳实施例所述的数据库参数筛选方法,如图1所示,所述数据库参数筛选方法包括以下步骤:
步骤S10、获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集。
具体地,获取训练数据库配置参数,并在所述训练数据库配置参数的预设取值范围内进行采样,得到样本参数数据;对所述样本参数数据进行去除枚举类型处理和归一化处理,得到所述数据库参数训练集。
数据库参数调整任务训练数据集由配置参数和系统吞吐量二元组构成,其构造过程如下:1、用拉丁超立方采样方法在待调整参数的取值范围内采样,得到一组数据库配置参数;2、将参数部署到数据库系统上,重启数据库;3、用性能评测工具测试数据库性能并记录。
其中,拉丁超立方采样是一种经典的类似于随机抽样的方法,它是从多元参数分布中进行采样的。相较于传统的蒙特卡罗采样方法,该方法减少了迭代次数。拉丁超立方采样的概念来源于拉丁方格,即统计抽样时每行每列只对应一个样本的方格,拉丁超立方体是拉丁方格多维时的概念。在拉丁超立方体中,每个样本是包含它的每个轴向超平面上的唯一样本。拉丁超立方采样最大的优点在于它能用较少的抽样次数,来达到与很多次随机抽样相同的结果,并且涵盖几乎所有的场景,保证了样本结果的全面性。
使用拉丁超立方采样方法在MySQL上分别收集若干条数据,并进行一些预处理(去除枚举类型和归一化),作为预测模型的数据集。
如图2所示,获取MySQL数据库其中两个参数的采样结果,可以看到采样的数据覆盖了参数的取值范围,证明收集到了全面且均匀的采样数据。
步骤S20、获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系。
如图3所示,首先将预设规则集(就是一个规则集合,比如“如果数据库读写次数增加到20000,数据库缓存小于200M,则数据库性能较差”),进行分层转化,构建决策树模型。为了方便对数据库的性能进行评价,将数据库的性能分为“差”,“较差”,“一般”,“较优”,“优”几个等级,根据输入的配置参数获取(输入数据库的配置和负载信息,如CPU核数、内存大小、数据库读写次数以及缓存大小等,预测数据库性能)性能所在的等级。决策树中的内节点对应配置参数对应性能的规则,由一个配置参数和一个阈值构成,根据两者比较的结果确定走向哪个分支,最终到达的叶节点对应了配置参数的性能等级。
具体地,获取所述预设规则集中的所述训练数据库配置参数以及所述训练数据库配置参数对应的参数性能,根据所述训练数据库配置参数和,预设阈值构建内节点,并根据所述参数性能构建叶节;根据所述内节点和所述叶节点构建所述性能预测决策树,其中,所述内节点对应所述预设规则集,所述叶节点对应所述参数性能;将所述性能预测决策树中的所述内节点转化为网络隐藏层,将所述叶节点转化为特征向量,并根据所述网络隐藏层和所述特征向量构建所述树状神经网络预测模型。
如图4所示,为了能够进行神经网络的训练,需要再将参数性能决策树转为树形的神经网络。将树中的经验转化为一系列由权重w和比较阈值c组成的树(就是利用规则初始化w和c),权重w表示不同配置参数的权重,阈值c提供判断的标准(比如某个内部节点表示的规则是“如果数据库读写次数增加到20000”,那么该节点中对应于“数据库读写次数”的特征权值w的初始值为1,其他节点为0,c初始值为20000)。对于内节点Di,每条规则表示为: ,其中,X是输入的配置参数向量,σ是sigmoid函数,w i 是特征向量,代表该节点上不同特征对应的权值,c i 是该节点上不同特征的阈值,α是一个超参数,用来限制内节点的可信度。这样,树由内节点构成的每一层就对应了神经网络的隐藏层,叶节点对应性能等级的概率,将其初始化为对应的one_hot向量(一个元素为1,其他元素都为0的向量),如 [0, 0, 0, 1, 0] 表示性能较优。
其中,将树中每一个内节点都转为网络隐藏层,每一个叶节点都转为one_hot向量,转换后的树结构如图4所示。
步骤S30、根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型。
具体地,将所述数据库参数训练集输入至所述树状神经网络预测模型中,得到所述数据库参数训练集对应的参数性能预测均值;对所述参数性能预测均值进行交叉熵损失计算,得到损失结果,并根据所述损失结果对所述树状神经网络预测模型进行微调,得到所述参数性能预测模型。
其中,所述参数性能预测模型的表达式为:
其中,P为数据库配置参数的参数性能(模型输出值),j为当前叶子结点的编号,Leaf为树模型的叶子结点(树的最底层),W j 为叶子结点j结点的权重,每个叶节点对应于一条路径,i为从内节点到当前叶子结点j的路径上的一个节点,σ为sigmoid函数,α为超参数,w i 为特征向量,代表该节点上不同特征对应的权值,X是输入的配置参数向量,c i 是节点上不同特征对应的阈值。
将样本数据(配置参数训练集)输入经验树预测模型后,模型最终输出的是各叶节点的性能预测值,使用标准的交叉熵计算损失,使用Adam优化器就可以进行训练和优化了。
步骤S40、获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能。
也就是说在计算输入的当前配置参数对应的性能结果时,需要自底向上,从叶子结点层开始,逐层汇总每个内部节点的输出概率分布,汇总到根节点形成的概率分布就是最后的预测性能的概率。
步骤S50、计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
具体地,根据夏利普指数计算所述当前数据库配置参数对所述参数性能的贡献度,并对所述贡献度进行绝对值计算和均值计算,得到夏利普值;将所述当前数据库配置参数按所述夏利普值从大到小的顺序进行排列,并按从大到小的顺序提取预设数量所述夏利普值对应的当前数据库配置参数。
夏普利指数(Shapley Value)是博弈论中的一个概念,用于确定在一场合作博弈中每个参与者对结果的贡献。夏普利可加解释方法是一种基于夏普利值来分析机器学习模型中每一特征对预测结果影响的方法。夏普利可加解释方法将每个特征对预测结果的贡献当作一个可加的线性模型,即将模型的预测值解释为每个输入特征的贡献值之和。在根据数据库配置参数预测性能的任务中,可将数据库性能看作每个配置参数的贡献值之和。
其中,夏普利指数的计算公式为:,其中,/>为参数j的夏普利值,j为当前叶子结点的编号,也代表第j个参数,S是所有参数集合的一个子集,p为子集中参数的个数。上式表明,在参数调整过程中,每增加一个参数j,其参数贡献为,对参与者所有可能的排列求平均就得到了参与者j的夏普利值,为子集S中每一个参数对应的夏利普值,/>为子集S与参数j组合的夏利普值。
SHAP(SHapley Additive exPlanations,它采用博弈论来解释机器学习模型的输出) 将每个特征对预测结果的贡献当作一个可加的线性模型,即将模型的预测值解释为每个数据库参数的贡献值之和:,其中,g是用来解释的线性模型,表示相应特征在{0,1}范围内能被观察到,j为当前叶子结点的编号,代表第j个参数,M是输入特征的数目,/>是每个特征的夏利普值,/>是解释模型的常数,也就是所有训练样本的预测均值,/>是{0,1}范围内的特征向量。
其中,通过对的计算可以得到不同数据库参数的夏普利值,该值反应了不同配置参数对数据库性能影响。
在计算每个配置参数的夏普利值之前,首先需要从样本的配置参数集合中选择若干个参数组成一个联盟,用一个由0和1构成的指示向量Z表示,比如Z = {1, 0, 1, 0}表示联盟中包含第一个和第三个配置参数。联盟中没有被选中的配置参数的值用数据集中随机采样到的该参数的值来代替。
夏普利值反映了特征对模型预测结果的影响,因此具有较大夏普利值的配置参数对系统性能较重要。由于需要考虑全局重要性,在整个数据集中对每个配置参数的夏普利值的绝对值取均值:;其中,n是样本数目,/>是第j个配置参数在第i个样本(也即内节点到当前叶子结点的路径上的第i个节点)中的夏普利值,I j 为配置参数j的夏普利值的绝对值取均值,可看作第j个配置参数的重要性,最后将配置参数按照重要性降序排列就可挑选出最重要的几个配置参数。
如图5所示,在MySQL中,初始数据库参数集合设置了多个常用参数。经过整个参数重要性分析过程,得到最终各配置参数的SHAP值(贡献度值)。
最终,根据SHAP值从中选出了前8个贡献度最大的参数。然后将其投入CDBTune参数调整模型中测试其对数据库参数调整算法性能和收敛效率的影响。
如图6所示,为多个参数调整算法的效果对比,对比方法包括:SHAPTune参数调整算法(通过SHAP选出重要参数后,由CDBTune进行参数调整的算法,为便于表示在图6中用“第一调参算法”代表)、CDBTune参数调整算法(基于强化学习的开源参数调整算法,为便于表示在图6中用“第二调参算法”代表)以及OtterTune参数调整算法(基于监督学习的开源参数调整算法,为便于表示在图6中用“第三调参算法”代表)。
根据上述实验数据可以的判断:使用参数重要性分析后的SHAPTune模型相比没有使用的CDBTune模型性能不仅没有下降,反而有一些提升,证明本发明对数据库参数进行筛选能够对数据库参数调整形成积极影响。
可见,使用了参数重要性分析的SHAPTune模型相比于CDBTune模型只需要更少的时间就可以更新模型和推荐参数。这是因为进行参数选择后,减小了参数调整任务的动作空间,能更快地进行决策。因此,本发明提出的参数重要性分析方法在执行实际参数调整任务时,能够快速地推荐配置参数,有助于缓解生产中数据库系统的压力。
进一步地,如图7所示,基于上述数据库参数筛选方法,本发明还相应提供了一种数据库参数筛选系统,其中,所述数据库参数筛选系统包括:
参数训练集获取模块51,用于获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;
预测模型生成模块52,用于获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;
预测模型训练模块53,用于根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;
参数性能获取模块54,用于获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;
参数筛选模块55,用于计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
进一步地,如图8所示,基于上述数据库参数筛选方法和系统,本发明还相应提供了一种终端,所述终端包括处理器10、存储器20及显示器30。图8仅示出了终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述终端的应用软件及各类数据,例如所述安装终端的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有数据库参数筛选程序40,该数据库参数筛选程序40可被处理器10所执行,从而实现本申请中数据库参数筛选方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述数据库参数筛选方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述终端的信息以及用于显示可视化的用户界面。所述终端的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中数据库参数筛选程序40时实现以下步骤:
获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;
获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;
根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;
获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;
计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
其中,所述获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集,具体包括:
获取训练数据库配置参数,并在所述训练数据库配置参数的预设取值范围内进行采样,得到样本参数数据;
对所述样本参数数据进行去除枚举类型处理和归一化处理,得到所述数据库参数训练集。
其中,所述获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,具体包括:
获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树;
将所述性能预测决策树中的所述内节点转化为网络隐藏层,将所述叶节点转化为特征向量,并根据所述网络隐藏层和所述特征向量构建所述树状神经网络预测模型。
其中,所述获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树,具体包括:
获取所述预设规则集中的所述训练数据库配置参数以及所述训练数据库配置参数对应的参数性能,根据所述训练数据库配置参数和预设阈值构建内节点,并根据所述参数性能构建叶节点;
根据所述内节点和所述叶节点构建所述性能预测决策树,其中,所述内节点对应所述预设规则集,所述叶节点对应所述参数性能。
其中,所述根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型,具体包括:
将所述数据库参数训练集输入至所述树状神经网络预测模型中,得到所述数据库参数训练集对应的参数性能预测均值;
对所述参数性能预测均值进行交叉熵损失计算,得到损失结果,并根据所述损失结果对所述树状神经网络预测模型进行微调,得到所述参数性能预测模型。
其中,所述参数性能预测模型的表达式为:
其中,P为数据库配置参数的参数性能,j为当前叶子结点的编号,Leaf为树模型的叶子结点,W j 为叶子结点j结点的权重,i为从内节点到当前叶子结点j的路径上的一个节点,σ为sigmoid函数,α为超参数,w i 为特征向量,代表该节点上不同特征对应的权值,X是输入的配置参数向量,c i 是节点上不同特征对应的阈值。
其中,所述计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选,具体包括:
根据夏利普指数计算所述当前数据库配置参数对所述参数性能的贡献度,并对所述贡献度进行绝对值计算和均值计算,得到夏利普值;
将所述当前数据库配置参数按所述夏利普值从大到小的顺序进行排列,并按从大到小的顺序提取预设数量所述夏利普值对应的当前数据库配置参数。
本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有数据库参数筛选程序,所述数据库参数筛选程序被处理器执行时实现如上所述的数据库参数筛选方法的步骤。
综上所述,本发明提供一种数据库参数筛选方法及相关设备,所述方法包括:获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。本发明通过构建参数性能决策树,并采集数据库的配置参数对参数性能决策树进行训练,以构建参数性能预测模型,可以根据参数性能预测模型对数据中的配置参数进行筛选,筛选得到其中贡献度较高的配置参数,使得当数据库面对冗余的配置参数进行查询时,能够迅速且准确地推荐贡献度高的配置参数进行查询,不仅提高了数据库的查询效率,同时也缓解了查询中数据库系统的压力。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的计算机可读存储介质中,所述程序在执行时可包括如上述各方法实施例的流程。其中所述的计算机可读存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (6)

1.一种数据库参数筛选方法,其特征在于,所述数据库参数筛选方法包括:
获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;
获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;
所述获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,具体包括:
获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树;
将所述性能预测决策树中的所述内节点转化为网络隐藏层,将所述叶节点转化为特征向量,并根据所述网络隐藏层和所述特征向量构建所述树状神经网络预测模型;
所述获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树,具体包括:
获取所述预设规则集中的所述训练数据库配置参数以及所述训练数据库配置参数对应的参数性能,根据所述训练数据库配置参数和预设阈值构建内节点,并根据所述参数性能构建叶节点;
根据所述内节点和所述叶节点构建所述性能预测决策树,其中,所述内节点对应所述预设规则集,所述叶节点对应所述参数性能;
根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;
根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型,具体包括:
将所述数据库参数训练集输入至所述树状神经网络预测模型中,得到所述数据库参数训练集对应的参数性能预测均值;
对所述参数性能预测均值进行交叉熵损失计算,得到损失结果,并根据所述损失结果对所述树状神经网络预测模型进行微调,得到所述参数性能预测模型;
所述参数性能预测模型的表达式为:
其中,P为数据库配置参数的参数性能,j为当前叶子结点的编号,Leaf为树模型的叶子结点,W j 为叶子结点j结点的权重,i为从内节点到当前叶子结点j的路径上的一个节点,σ为sigmoid函数,α为超参数,w i 为特征向量,代表该节点上不同特征对应的权值,X是输入的配置参数向量,c i 是节点上不同特征对应的阈值;
获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;
计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
2.根据权利要求1所述的数据库参数筛选方法,其特征在于,所述获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集,具体包括:
获取训练数据库配置参数,并在所述训练数据库配置参数的预设取值范围内进行采样,得到样本参数数据;
对所述样本参数数据进行去除枚举类型处理和归一化处理,得到所述数据库参数训练集。
3.根据权利要求1所述的数据库参数筛选方法,其特征在于,所述计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选,具体包括:
根据夏利普指数计算所述当前数据库配置参数对所述参数性能的贡献度,并对所述贡献度进行绝对值计算和均值计算,得到夏利普值;
将所述当前数据库配置参数按所述夏利普值从大到小的顺序进行排列,并按从大到小的顺序提取预设数量所述夏利普值对应的当前数据库配置参数。
4.一种数据库参数筛选系统,其特征在于,所述数据库参数筛选系统包括:
参数训练集获取模块,用于获取训练数据库配置参数,并对所述训练数据库配置参数进行预处理,得到数据库参数训练集;
预测模型生成模块,用于获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,其中,所述预设规则集包括所述训练数据库配置参数、所述训练数据库配置参数对应的参数性能、以及所述训练数据库配置参数与所述参数性能之间的对应关系;
所述获取预设规则集,根据所述预设规则集构建参数性能决策树,并将所述参数性能决策树转化为树状神经网络预测模型,具体包括:
获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树;
将所述性能预测决策树中的所述内节点转化为网络隐藏层,将所述叶节点转化为特征向量,并根据所述网络隐藏层和所述特征向量构建所述树状神经网络预测模型;
所述获取预设规则集,并根据所述预设规则集构建内节点和叶节点,并根据所述内节点和所述叶节点构建得到性能预测决策树,具体包括:
获取所述预设规则集中的所述训练数据库配置参数以及所述训练数据库配置参数对应的参数性能,根据所述训练数据库配置参数和预设阈值构建内节点,并根据所述参数性能构建叶节点;
根据所述内节点和所述叶节点构建所述性能预测决策树,其中,所述内节点对应所述预设规则集,所述叶节点对应所述参数性能;
预测模型训练模块,用于根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型;
根据所述数据库参数训练集对所述树状神经网络预测模型进行训练,得到参数性能预测模型,具体包括:
将所述数据库参数训练集输入至所述树状神经网络预测模型中,得到所述数据库参数训练集对应的参数性能预测均值;
对所述参数性能预测均值进行交叉熵损失计算,得到损失结果,并根据所述损失结果对所述树状神经网络预测模型进行微调,得到所述参数性能预测模型;
所述参数性能预测模型的表达式为:
其中,P为数据库配置参数的参数性能,j为当前叶子结点的编号,Leaf为树模型的叶子结点,W j 为叶子结点j结点的权重,i为从内节点到当前叶子结点j的路径上的一个节点,σ为sigmoid函数,α为超参数,w i 为特征向量,代表该节点上不同特征对应的权值,X是输入的配置参数向量,c i 是节点上不同特征对应的阈值;
参数性能获取模块,用于获取当前数据库配置参数,将所述当前数据库配置参数输入至所述参数性能预测模型,得到所述当前数据库配置参数对应的参数性能;
参数筛选模块,用于计算所述当前数据库配置参数对所述参数性能的贡献度,并根据所述贡献度对所述当前数据库配置参数进行参数筛选。
5.一种终端,其特征在于,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库参数筛选程序,所述数据库参数筛选程序被所述处理器执行时实现如权利要求1-3任一项所述的数据库参数筛选方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有数据库参数筛选程序,所述数据库参数筛选程序被处理器执行时实现如权利要求1-3任一项所述的数据库参数筛选方法的步骤。
CN202311768469.5A 2023-12-21 2023-12-21 一种数据库参数筛选方法及相关设备 Active CN117435580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311768469.5A CN117435580B (zh) 2023-12-21 2023-12-21 一种数据库参数筛选方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311768469.5A CN117435580B (zh) 2023-12-21 2023-12-21 一种数据库参数筛选方法及相关设备

Publications (2)

Publication Number Publication Date
CN117435580A CN117435580A (zh) 2024-01-23
CN117435580B true CN117435580B (zh) 2024-03-22

Family

ID=89550221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311768469.5A Active CN117435580B (zh) 2023-12-21 2023-12-21 一种数据库参数筛选方法及相关设备

Country Status (1)

Country Link
CN (1) CN117435580B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111325353A (zh) * 2020-02-28 2020-06-23 深圳前海微众银行股份有限公司 训练数据集的贡献度计算方法、装置、设备及存储介质
CN112200316A (zh) * 2020-10-30 2021-01-08 福州大学 一种针对在线预测任务的gbdt学习方法
CN112463763A (zh) * 2020-11-19 2021-03-09 东北大学 基于RF算法的MySQL数据库参数筛选方法
CN114706840A (zh) * 2022-04-08 2022-07-05 河海大学 面向负载感知的多模数据库ArangoDB参数调优的方法
CN114756607A (zh) * 2020-12-25 2022-07-15 华为云计算技术有限公司 参数配置方法及装置
CN116881224A (zh) * 2023-07-11 2023-10-13 北京傲韦科技有限公司 一种数据库参数调优方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019151B (zh) * 2019-04-11 2024-03-15 深圳市腾讯计算机系统有限公司 数据库性能调整方法、装置、设备、系统及存储介质
US11238124B2 (en) * 2019-08-28 2022-02-01 Microsoft Technology Licensing, Llc Search optimization based on relevant-parameter selection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111325353A (zh) * 2020-02-28 2020-06-23 深圳前海微众银行股份有限公司 训练数据集的贡献度计算方法、装置、设备及存储介质
CN112200316A (zh) * 2020-10-30 2021-01-08 福州大学 一种针对在线预测任务的gbdt学习方法
CN112463763A (zh) * 2020-11-19 2021-03-09 东北大学 基于RF算法的MySQL数据库参数筛选方法
CN114756607A (zh) * 2020-12-25 2022-07-15 华为云计算技术有限公司 参数配置方法及装置
CN114706840A (zh) * 2022-04-08 2022-07-05 河海大学 面向负载感知的多模数据库ArangoDB参数调优的方法
CN116881224A (zh) * 2023-07-11 2023-10-13 北京傲韦科技有限公司 一种数据库参数调优方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D2CFR: Minimize Counterfactual Regret With Deep Dueling Neural Network;Li HUale et al;《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》;20231103;第1-14页 *
一种基于决策树和遗传算法-BP神经网络的组合预测模型;梁栋;张凤琴;陈大武;李小青;王梦非;;中国科技论文;20150123(第02期);第169-174页 *

Also Published As

Publication number Publication date
CN117435580A (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
Lowd et al. Learning Markov network structure with decision trees
CN109634924B (zh) 基于机器学习的文件系统参数自动调优方法及系统
Trabelsi et al. A new feature selection method for nominal classifier based on formal concept analysis
CN109388565B (zh) 基于生成式对抗网络的软件系统性能优化方法
US11971892B2 (en) Methods for stratified sampling-based query execution
Shahzad et al. Missing data imputation using genetic algorithm for supervised learning
CN111210023A (zh) 数据集分类学习算法自动选择系统及方法
CN114328048A (zh) 一种磁盘故障预测方法及装置
JP6172317B2 (ja) 混合モデル選択の方法及び装置
CN111651594B (zh) 基于键值记忆网络的案件案由分类方法及介质
CN110956277A (zh) 一种交互式的迭代建模系统及方法
CN113052225A (zh) 基于聚类算法和时序关联规则的报警收敛方法及装置
CN116830097A (zh) 数据库区域地图的自动线性聚类推荐
CN112256209B (zh) 一种云存储系统的参数配置优化方法及优化系统
CN117435580B (zh) 一种数据库参数筛选方法及相关设备
Krȩtowski et al. An evolutionary algorithm for global induction of regression trees
Karasalo et al. Developing horizon scanning methods for the discovery of scientific trends
Zhang et al. Plant leaf classification using plant leaves based on rough set
Liao et al. Convolution filter pruning for transfer learning on small dataset
Tyas et al. Implementation of Particle Swarm Optimization (PSO) to improve neural network performance in univariate time series prediction
CN111108516A (zh) 使用深度学习算法来评价输入数据
Czajkowski et al. An evolutionary algorithm for global induction of regression trees with multivariate linear models
KR102418239B1 (ko) 기술의 지속 가능성을 탐색하기 위한 특허 분석 장치
CN116702059B (zh) 一种基于物联网的智能生产车间管理系统
Zhang et al. C4. 5 Algorithm Based on the Sample Selection and Cosine Similarity

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
GR01 Patent grant
GR01 Patent grant