CN114756607A - 参数配置方法及装置 - Google Patents

参数配置方法及装置 Download PDF

Info

Publication number
CN114756607A
CN114756607A CN202011569027.4A CN202011569027A CN114756607A CN 114756607 A CN114756607 A CN 114756607A CN 202011569027 A CN202011569027 A CN 202011569027A CN 114756607 A CN114756607 A CN 114756607A
Authority
CN
China
Prior art keywords
database
parameter
sets
operation statement
training
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
CN202011569027.4A
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202011569027.4A priority Critical patent/CN114756607A/zh
Publication of CN114756607A publication Critical patent/CN114756607A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种参数配置方法及装置,能够解决目前数据库管理系统参数配置不合理的问题,提高数据库管理系统的性能,可应用于参数配置系统中。该方法包括:获取数据库管理系统的数据库操作语句集,并确定与数据库操作语句集匹配的多个数据库训练语句集。基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型。基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。由于样本数据集与实际业务场景相对应,从而确保基于实际业务场景建立的机器学习模型,能够解决数据库管理系统配置的数据库运行参数不合理的问题,提高数据库的性能。

Description

参数配置方法及装置
技术领域
本申请涉及数据库管理领域,尤其涉及一种参数配置方法及装置。
背景技术
数据库管理系统(database management system,DBMS)通常涉及数百个参数,合理的参数配置可以提高DBMS的性能。
目前,通常先基于预设的训练数据集建立机器学习模型,由该机器学习模型确定出DBMS的参数配置。其中,机器学习模型的准确性高度依赖于训练数据集的数量和质量,如训练数据集的样本数量,以及训练数据集涵盖的业务场景是否完备。
然而,训练数据集的样本数量以及涵盖的业务场景是有限的,当DBMS所运行的实际业务场景与训练数据集涵盖的业务场景不同时,基于该训练数据集建立的机器学习模型往往不能针对该实际业务场景确定出合理的参数配置,从而导致该DBMS参数配置不合理,DBMS的性能低下。
发明内容
本申请实施例提供一种参数配置方法及装置,能够解决目前数据库管理系统参数配置不合理的问题,从而提高数据库管理系统的性能。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种参数配置方法。该方法包括:获取数据库管理系统的数据库操作语句集,并确定与数据库操作语句集匹配的多个数据库训练语句集。其中,每个数据库训练语句集均对应一个数据库参数训练集和一组数据库性能训练数据。基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型。其中,机器学习模型用于确定多个数据库参数候选集各自对应的数据库性能预测结果。基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
基于第一方面所述的参数配置方法,可以基于多个数据库训练语句集对应的样本数据集(包括数据库参数训练集和数据库性能训练数据),建立机器学习模型,由于这多个数据库训练语句集与数据库管理系统的数据库操作语句集匹配,且数据库操作语句集与数据库管理系统的实际业务场景相关,也即是说,样本数据集与该实际业务场景相对应,从而可以确保基于实际业务场景建立的机器学习模型,使得机器学习模型确定的数据库管理系统的参数更合理,进而提高数据库的性能。
一种可能的设计方案中,上述确定与数据库操作语句集匹配的多个数据库训练语句集,可以包括:获取多个数据库候选操作语句集,并计算多个数据库候选操作语句集各自与数据库操作语句集的第一相似度,以及将多个数据库候选操作语句集中,第一相似度大于相似度阈值的数据库候选操作语句集,确定为数据库训练语句集。如此,可以使得所确定出的多个数据库训练语句集与数据库操作语句集的相似度满足要求,以提高多个数据库训练语句集与数据库操作语句集的匹配度,从而可以实现建立的机器学习模型所依据的训练数据集,与数据库管理系统运行的实际业务场景相对应。
可选地,上述计算多个数据库候选操作语句集各自与数据库操作语句集的第一相似度,可以包括:确定数据库操作语句集对应的第一特征向量。其中,第一特征向量可以包括多个第一元素,每个第一元素对应一种数据库操作语句,每个第一元素的值为第一元素对应的数据库操作语句在数据库操作语句集中的比例。确定数据库操作语句目标集对应的第二特征向量。其中,数据库操作语句目标集为多个数据库候选操作语句集中的任一数据库候选操作语句集,第二特征向量可以包括多个第二元素,每个第二元素对应一种数据库操作语句,每个第二元素的值为第二元素对应的数据库操作语句在数据库操作语句目标集中的比例。计算第一特征向量与每个第二特征向量的第二相似度。其中,第二相似度用于表示第一相似度。由于每个第一元素的值为第一元素对应的数据库操作语句在数据库操作语句集中的比例,因此,与第一特征向量可以表征各种类型的数据库操作语句在数据库操作语句集中的比例特征类似,第二特征向量也可以表征各种类型的数据库操作语句在数据库操作语句目标集中的比例特征。如此,可以通过计算第一特征向量与第二特征向量的第二相似度的方式,更加准确地确定出数据库训练语句集与数据库操作语句集的匹配程度。
或者,可选地,上述计算多个数据库候选操作语句集各自与数据库操作语句集的第一相似度,可以包括:确定数据库操作语句集对应的第一关键字向量;第一关键字向量可以包括多个第三元素,每个第三元素对应一个关键字,每个第三元素的值为第三元素对应的关键字在数据库操作语句集中的比例;确定数据库操作语句目标集对应的第二关键字向量;其中,数据库操作语句目标集为多个数据库候选操作语句集中的任一数据库候选操作语句集;第二关键字向量可以包括多个第四元素,每个第四元素对应一个关键字,每个第四元素的值为第四元素对应的关键字在数据库操作语句目标集中的比例;计算第一关键字向量与每个第二关键字向量的第三相似度,第三相似度用于表示第一相似度。由于每个第三元素的值可以为第三元素对应的关键字在数据库操作语句集中的比例,因此,与第一关键字向量可以表征各种类型的关键字在数据库操作语句集中的数量特征类似,第二关键字向量也可以表征各种类型的关键字在数据库操作语句目标集中的数量特征,进而通过计算第一关键字向量与每个第二关键字向量的第三相似度,有助于更加准确地确定出数据库训练语句集与数据库操作语句集的匹配程度。
一种可能的设计方案中,上述基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型,可以包括:基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,确定数据库参数训练集中的多个参数项各自对应的特征重要性度量值。将多个参数项中,特征重要性度量值满足第二预设条件的参数项,确定为重要参数项。基于重要参数项、多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立随机森林(random forest,RF)模型。由于特征重要性度量值可以表示参数项的重要程度,且参数项的重要程度与参数项的选择性正相关。例如,某一参数项重要程度越高,随机森林模型的输出结果越依赖于该参数项的取值。因此,在基于随机森林模型确定数据库参数候选集对应的数据库性能预测结果时,可以针对重要参数项进行更加精细地确定,以提高随机森林模型确定结果的准确度。并且,由于不需要基于数据库参数训练集的所有参数项建立随机森林模型,可以减少建立随机森林模型的计算量,从而提高建立随机森林模型的效率。
一种可能的设计方案中,上述基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集,可以包括:基于遗传算法(genetic algorithm,GA),将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。其中,遗传算法的适应度函数由机器学习模型确定。由于在多个数据库参数候选集(即样本空间)中,基于遗传算法可以不断地淘汰适应度不满足要求的数据库参数候选集(即样本),以及在每次淘汰后,对剩下的样本进行交叉和变异(即对剩下的样本进行离散),得到更小的样本空间。其中,不断地淘汰过程会使得样本空间中样本的适应度越来越高,直至样本空间中样本的适应度满足第一预设条件,从而得到全局最优的样本(即目标数据库参数集),以减少或避免搜索目标数据库参数集的过程中陷入局部最优解的风险。
可选地,上述基于遗传算法,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集,可以包括:基于抽样规则,获取多个数据库参数候选集的抽样结果。其中,抽样结果包括多个第一数据库参数选定集。基于遗传算法和多个第一数据库参数选定集,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。由于在多个数据库参数候选集中,通过抽样可以确定出离散的多个第一数据库参数选定集(即抽样结果),并且这抽样结果可以代表多个数据库参数候选集,以及这抽样结果的数量少于多个数据库参数候选集的数量,从而在基于遗传算法确定目标数据库参数集的过程中,先通过抽样获取多个数据库参数候选集的抽样结果,可以减少遗传算法的搜索量,提高搜索效率。
第二方面,提供一种参数配置装置。该装置包括:收发模块,用于获取数据库管理系统的数据库操作语句集。处理模块,用于确定与数据库操作语句集匹配的多个数据库训练语句集。其中,每个数据库训练语句集均对应一个数据库参数训练集和一组数据库性能训练数据。处理模块,还用于基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型。其中,机器学习模型用于确定多个数据库参数候选集各自对应的数据库性能预测结果。处理模块,还用于基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
一种可能的设计方案中,上述处理模块,还用于获取多个数据库候选操作语句集。处理模块,还用于计算多个数据库候选操作语句集各自与数据库操作语句集的第一相似度。处理模块,还用于将多个数据库候选操作语句集中,第一相似度大于相似度阈值的数据库候选操作语句集,确定为数据库训练语句集。
可选地,上述处理模块,还用于确定数据库操作语句集对应的第一特征向量。其中,第一特征向量包括多个第一元素,每个第一元素对应一种数据库操作语句,每个第一元素的值为第一元素对应的数据库操作语句在数据库操作语句集中的比例。处理模块,还用于确定数据库操作语句目标集对应的第二特征向量。其中,数据库操作语句目标集为多个数据库候选操作语句集中的任一数据库候选操作语句集,第二特征向量包括多个第二元素,每个第二元素对应一种数据库操作语句,每个第二元素的值为第二元素对应的数据库操作语句在数据库操作语句目标集中的比例。处理模块,还用于计算第一特征向量与每个第二特征向量的第二相似度。其中,第二相似度用于表示第一相似度。
或者,可选地,上述处理模块,还用于确定数据库操作语句集对应的第一关键字向量。其中,第一关键字向量包括多个第三元素,每个第三元素对应一个关键字,每个第三元素的值为第三元素对应的关键字在数据库操作语句集中的比例。处理模块,还用于确定数据库操作语句目标集对应的第二关键字向量。其中,数据库操作语句目标集为多个数据库候选操作语句集中的任一数据库候选操作语句集,第二关键字向量包括多个第四元素,每个第四元素对应一个关键字,每个第四元素的值为第四元素对应的关键字在数据库操作语句目标集中的比例。处理模块,还用于计算第一关键字向量与每个第二关键字向量的第三相似度。其中,第三相似度用于表示第一相似度。
一种可能的设计方案中,上述处理模块,还用于基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,确定数据库参数训练集中的多个参数项各自对应的特征重要性度量值。处理模块,还用于将多个参数项中,特征重要性度量值满足第二预设条件的参数项,确定为重要参数项。处理模块,还用于基于重要参数项、多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立随机森林模型。
一种可能的设计方案中,上述处理模块,还用于基于遗传算法,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。其中,遗传算法的适应度函数由机器学习模型确定。
可选地,处理模块,还用于基于抽样规则,获取多个数据库参数候选集的抽样结果。其中,抽样结果包括多个第一数据库参数选定集。处理模块,还用于基于遗传算法和多个第一数据库参数选定集,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
第三方面,提供一种参数配置装置。该参数配置装置用于执行第一方面中任意一种实现方式所述的参数配置方法。
在本申请中,第三方面所述的参数配置装置可以为用于执行第一方面所述方法的具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。
应理解,第三方面所述的参数配置装置包括实现上述第一方面所述的参数配置方法相应的模块、单元、或手段(means),该模块、单元、或手段可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个用于执行上述参数配置方法所涉及的功能的模块或单元。
此外,第三方面所述的参数配置装置的技术效果可以参考第一方面所述的参数配置方法的技术效果,此处不再赘述。
第四方面,提供一种参数配置装置。该参数配置装置包括:处理器,该处理器用于执行第一方面中任意一种可能的实现方式所述的参数配置方法。
在一种可能的设计方案中,第四方面所述的参数配置装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第四方面所述的参数配置装置与其他参数配置装置通信。
在一种可能的设计方案中,第四方面所述的参数配置装置还可以包括存储器。该存储器可以与处理器集成在一起,也可以分开设置。该存储器可以用于存储第一方面中任一方面所述的参数配置方法所涉及的计算机程序和/或数据。
在本申请中,第四方面所述的参数配置装置可以为用于执行第一方面所述方法的具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。
此外,第四方面所述的参数配置装置的技术效果可以参考第一方面中任意一种实现方式所述的参数配置方法的技术效果,此处不再赘述。
第五方面,提供一种参数配置装置。该参数配置装置包括:处理器,该处理器与存储器耦合,该处理器用于执行存储器中存储的计算机程序,以使得该参数配置装置执行第一方面中任意一种可能的实现方式所述的参数配置方法。
在一种可能的设计方案中,第五方面所述的参数配置装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第五方面所述的参数配置装置与其他参数配置装置通信。
在本申请中,第五方面所述的参数配置装置可以为用于执行第一方面所述方法的具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。
此外,第五方面所述的参数配置装置的技术效果可以参考第一方面中任意一种实现方式所述的参数配置方法的技术效果,此处不再赘述。
第六方面,提供了一种参数配置装置,包括:处理器和存储器;该存储器用于存储计算机程序,当该处理器执行该计算机程序时,以使该参数配置装置执行第一方面中的任意一种实现方式所述的参数配置方法。
在一种可能的设计方案中,第六方面所述的参数配置装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第六方面所述的参数配置装置与其他参数配置装置通信。
在本申请中,第六方面所述的参数配置装置可以为用于执行第一方面所述方法的具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。
此外,第六方面所述的参数配置装置的技术效果可以参考第一方面中任意一种实现方式所述的参数配置方法的技术效果,此处不再赘述。
第七方面,提供了一种参数配置装置,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的计算机程序之后,根据该计算机程序执行如第一方面中的任意一种实现方式所述的参数配置方法。
在一种可能的设计方案中,第七方面所述的参数配置装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第七方面所述的参数配置装置与其他参数配置装置通信。
在本申请中,第七方面所述的参数配置装置可以为用于执行第一方面所述方法的具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。
此外,第七方面所述的参数配置装置的技术效果可以参考第一方面中任意一种实现方式所述的参数配置方法的技术效果,此处不再赘述。
第八方面,提供一种处理器。其中,处理器用于执行第一方面中任意一种可能的实现方式所述的参数配置方法。
第九方面,提供一种参数配置系统。该参数配置系统包括上述的参数配置装置和数据库运行装置。
第十方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面中任意一种可能的实现方式所述的参数配置方法。
第十一方面,提供一种计算机程序产品,包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面中任意一种可能的实现方式所述的参数配置方法。
附图说明
图1为本申请实施例提供的参数配置系统的架构示意图;
图2为本申请实施例提供的参数配置方法的流程示意图一;
图3为本申请实施例提供的参数配置方法的流程示意图二;
图4为本申请实施例提供的参数配置装置的结构示意图一;
图5为本申请实施例提供的参数配置装置的结构示意图二。
具体实施方式
下面简单说明本申请实施例所涉及的部分技术术语。
1、随机森林模型
在机器学习中,随机森林模型是一个包含多个决策树的分类器,其输出的类别可以由决策树输出的类别确定,例如,由所有决策树输出的类别中数量最多的类别确定。训练好的随机森林模型可以预测一个数据的类别,例如,假设一个训练样本中的每条训练数据均包括:特征数据和类别数据,特征数据包括个人信息(如包括:年龄、住址、身高、体重等),类别数据包括性别(如男、女),则使用这个训练样本训练一个随机森林模型,训练好的随机森林模型可以预测一个人的性别。随机森林的具体生成过程,可以参考现有实现方式,在此不再赘述。
2、遗传算法
遗传算法是一种模拟自然进化过程的计算模型,该计算模型可以在样本空间中搜索全局最优解。遗传算法的具体实现过程,可以参考现有实现方式,在此不再赘述。
3、数据库管理系统
数据库管理系统是一种管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统可以访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。
4、工作负载(workload)
在数据库管理领域,一个工作负载可以指数据库管理系统执行的多条语句,每条语句都可以用于访问数据库中的数据,以实现数据库的管理和维护。其中,这些语句可以是数据库管理语言(database administration language,DBMS),例如,结构化查询语言(structured query language,sql),即sql语句。例如,一个工作负载可以包括1000条sql语句,每条sql语句均可以访问数据库中的数据,如对数据库进行增加、删除、修改、查询等操作。其中,对数据库进行增加、删除、修改、查询操作的语句可以分别称为:增操作sql语句、删操作sql语句、改操作sql语句、查操作sql语句。
其中,工作负载可以包括:实际运行工作负载和基准测试工作负载。实际运行工作负载可以为:实际在数据库管理系统中被执行的多条sql语句的集合。可以理解,数据库管理系统的业务场景与该数据库管理系统的实际运行工作负载直接相关。
基准测试工作负载可以包括:预设置(或预定义、或预配置)的多条sql语句的集合,可以用于数据库的基准测试(database benchmarking)。基准测试工作负载可以包括如下一项或多项:TPC-C benchmark(TPCC)、telecommunication application transactionprocessing benchmark(TATP)、Smallbank benchmark(Smallbank)、或wiki benchmark(wiki)等。
例如,在一段时间内(如5分钟),数据库管理系统中执行了1000条sql语句,这1000条sql语句可以作为一个的实际运行工作负载。
又例如,预先设置了2000条sql语句,这2000条sql语句可以包括500条增操作sql语句、500条删操作sql语句、500条改操作sql语句、500条查操作sql语句,这2000条sql语句可以作为一个基准测试工作负载。
在基准测试工作负载用于数据库管理系统的基准测试时,数据库管理系统可以执行基准测试工作负载中的每条sql语句,然后输出一组性能数据,如每秒吞吐量(throughput per second,TPS)、每秒查询量(query per second,QPS)、并发数(系统同时处理的请求/事务的数量)、响应时间等。其中,数据库管理系统的多个参数可以视为一个配置参数集合。
需要说明的是,上述“实际运行工作负载”有时可以被替换为“运行数据”;上述“基准测试工作负载”有时可以被替换为“测试数据”。
可以理解,在使用基准测试工作负载对数据库进行基准测试时,为了使得数据库的测试过程更贴合实际,可以参考实际运行工作负载设置基准测试工作负载。例如,在实际的运行过程中,数据库管理系统在执行sql语句时,增操作sql语句、删操作sql语句、改操作sql语句、查操作sql语句分别占总sql语句的比例为:50%、30%、10%、10%。那么,在一个包括2000条sql语句的基准测试工作负载中,增操作sql语句可以设置为1000条(占比为50%),删操作sql语句可以设置为600条(占比为30%),改操作sql语句可以设置为200条(占比为10%),查操作sql语句可以设置为200条(占比为10%)。这样,可以设置一个与实际运行工作负载匹配的基准测试工作负载,从而使得在对数据库进行基准测试时,所测试出的数据库的性能更贴合数据库的实际性能,从而提高测试准确性。
需要说明的是,本申请实施例中的数据库管理语言不仅限于是sql语句,随着技术的演进,本申请实施例中的数据库管理语言还可以是其他的语言。进而可以理解,本申请在提及数据库管理语言时,以sql语句为例说明。
此外,上述工作负载的说明仅为示例性说明,具体的工作负载,也可以参考相应的现有技术规范。
在实现本申请实施例的过程中,本申请发明人发现:目前,通常采用如下几种方式配置DBMS的参数。下面具体说明。
方式1,由专业的数据库管理员(database administrator,DBA)不断地调整DBMS的参数配置,以及观察DBMS的性能,直至DBMS的性能满足要求。显然,这种方式效率很低。
方式2,以递归的方法,在DBMS的参数的样本空间中搜索最优的参数。在每次递归过程中均通过抽样缩小参数的样本空间,并选出缩小后的参数的样本空间中最优的参数;若这个参数不满足要求,则继续递归。方式2耗时较长,且是在逐渐缩小的参数的样本空间搜索,从而忽略其他的参数的样本空间,因此容易导致局部最优问题。
方式3,先基于预设的训练数据集(如上述的基准测试工作负载)建立机器学习模型,并由该机器学习模型确定DBMS的参数配置。然而,训练数据集的样本数量以及涵盖的业务场景通常是有限的,当DBMS所运行的实际业务场景与训练数据集涵盖的业务场景不同时,基于该训练数据集建立的机器学习模型确定的参数配置,可能并不适用于该实际业务场景,从而导致该DBMS参数配置不合理,DBMS的性能低下。
此外,方式3也可以为人工智能方法,通常包括:机器学习(machine learning,ML)方法和强化学习(reinforcement learning,RL)方法,这两种方法高度依赖于训练数据的质量,例如,训练数据的样本数量是否足够大、训练数据涵盖的业务场景是否完备。另外,强化学习方法还需要人工调节强化学习模型的超参数(hyperparameter),而超参数的细微变化都可能影响强化学习的效果,甚至导致整个学习过程失败,需要人工花费大量时间调节。因此,方式3存在的问题还包括:训练数据的样本采集困难、训练过程效率低下。需要说明的是,基于机器学习方法和强化学习方法对DBMS的参数进行配置可以参考现有技术,在此不再赘述。
另外,当使用方式3配置云平台数据库的参数时,还会出现难以使用一个或一套训练数据集解决不同数据库的参数配置的问题。具体地,云平台上不同的租户的业务可能不同,不同的租户所使用的硬件配置也可能不同(比如,使用的内存、处理器、磁盘类型等),因此,难以使用同一个或同一套训练数据的样本建立可适用于各种业务和/或各种硬件配置的机器学习模型。
为了解决目前数据库管理系统参数配置不合理的问题,本申请实施例提供一种参数配置方法及装置,以提高数据库管理系统的性能。需要说明的是,上述现有实现方案所存在的种种缺陷,均是发明人经过仔细实践研究后得出的结果。因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应视为发明人在实现本申请过程中对本申请做出的贡献。
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
为便于理解本申请实施例,首先以图1中示出的参数配置系统为例详细说明适用于本申请实施例的参数配置系统。示例性地,图1为本申请实施例提供的参数配置方法所适用的一种参数配置系统的架构示意图。
如图1所示,该参数配置系统可以包括:参数配置装置和数据库运行装置。
其中,数据库运行装置可以用于运行数据库管理系统。参数配置装置可以用于获取数据库管理系统的数据库操作语句集,并基于数据库操作语句集配置数据库管理系统的参数,从而实现本申请实施例提供的参数配置方法。这样,能够解决目前数据库管理系统参数配置不合理的问题,从而提高数据库管理系统的性能。可以理解,该方案中相关术语及有益效果的分析等均可以参考下述方法实施例,此处不再赘述。
上述参数配置装置、数据库运行装置可包含一或多个处理器,以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于:随机存取存储器(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、快闪存储器、或可用于存取程序代码的任何其它媒体。
其中,上述的参数配置装置和数据库运行装置可以包含在同一设备中,也可以分别包含在不同的设备中,这里的装置可以是具有计算功能的电子设备,包括但不限于:服务器(如数据库服务器)、桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
需要说明的是,上述的参数配置装置和数据库运行装置可以是虚拟模块,如软件程序,也可以是硬件模块,如一个或多个微处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合,或者是硬件与软件的组合等。
可选地,上述的参数配置装置可以包括:监控模块和调优模块。
其中,监控模块可以用于获取数据库管理系统的数据库操作语句集,调优模块可以用于基于数据库操作语句集配置数据库管理系统的参数,从而实现本申请实施例提供的参数配置方法。可以理解,该方案中相关术语及有益效果的分析等均可以参考下文。
示例性地,表1为图1中各个装置或模块的硬件配置和软件配置表。请参考表1,上述的数据库运行装置、监控模块和调优模块可以分别设置在一个设备中。监控模块的硬件配置可以包括:4个核心的处理器,16吉字节(gigabyte,GB)的内存,容量40GB、超高输入/输出(input/output,I/O)的磁盘。监控模块的软件配置可以包括:CentOS7操作系统、python3.6、oltpbench、java1.8、ant1.9。上述超高I/O为数据读写速率的等级,如数据读写速率的等级可以分为三个等级,分别为:超高I/O、中速I/O、低速I/O。其中,超高I/O为数据读写速率>500兆字节每秒(Mbyte per second,MB/s),中速I/O为数据读写速率≤500MB/s,且≥300MB/s,低速I/O为数据读写速率<300MB/s。以此类推,数据库运行装置和调优模块的硬件配置和软件配置不再赘述。
表1
Figure BDA0002861966840000091
应当指出的是,本申请实施例中的方案还可以应用于其他参数配置系统中,相应的名称也可以用其他参数配置系统中的对应功能的名称进行替代。
应理解,图1仅为便于理解而示例的简化示意图,该参数配置系统中还可以包括其他网络设备,和/或,其他终端设备,图1中未予以画出。
下面将结合图2、图3对本申请实施例提供的参数配置方法进行具体阐述。
示例性地,图2为本申请实施例提供的参数配置方法的流程示意图一。该参数配置方法可以适用于图1所示的参数配置系统。
如图2所示,该参数配置方法可以包括如下步骤:
S201,获取数据库管理系统的数据库操作语句集。
上述的数据库管理系统可以包括:关系型数据库管理系统(relational databasemanagement system,RDBMS),如MySQL、DB2、Oracle、MS SQL Server(Microsoft SQLServer)等。可以理解,本申请实施例对数据库管理系统的类型不作限定。
上述的数据库操作语句集可以包括:数据库管理系统在一段时间内执行的多条语句。换句话说,上述的数据库操作语句集可以为实际运行工作负载(可以参照前文技术术语中的解释)。例如,在一段时间内(如10分钟),数据库管理系统中执行了2000条sql语句,那么,这2000条sql语句可以视为一个数据库操作语句集。
一些可能的实施例中,获取数据库管理系统的数据库操作语句集,可以包括:数据库管理系统向参数配置装置发送一段时间(如10分钟)内所有被执行的sql语句,参数配置装置接收来自数据库管理系统的sql语句。
S202,确定与数据库操作语句集匹配的多个数据库训练语句集。
其中,上述的数据库操作语句集与数据库训练语句集匹配可以包括:数据库训练语句集与数据库操作语句集之间的相似度,大于或等于相似度阈值。数据库训练语句集与数据库操作语句集之间相似度的确定方式,可以参照下述步骤1-步骤3,在此不再赘述。
可选地,S202,确定与数据库操作语句集匹配的多个数据库训练语句集,可以包括:在多个数据库候选操作语句集中,确定与数据库操作语句集匹配的多个数据库训练语句集。
上述的数据库候选操作语句集可以包括:基准测试工作负载。也即是说,数据库候选操作语句集可以用于数据库管理系统的基准测试。
在数据库管理系统的一次基准测试过程中,被执行的基准测试工作负载、该数据库管理系统的配置参数集合,以及该数据库管理系统的一组性能数据,这三者相互对应。其中,该数据库管理系统的配置参数集合可以作为一个数据库参数训练集,该数据库管理系统的一组性能数据可以作为一组数据库性能训练数据,进而,对于上述的多个数据库训练语句集,每个数据库训练语句集均可以对应一个数据库参数训练集和一组数据库性能训练数据。
示例性地,假设使用一个基准测试工作负载对MySQL进行基准测试,得到该MySQL的一组性能数据,则该MySQL的配置参数集合可以作为一个数据库参数训练集,该MySQL的一组性能数据可以作为一组数据库性能训练数据。其中,这里的MySQL的一组性能数据和MySQL的配置参数集合,可以作为一条训练数据。另外,多条这样的训练数据组成的集合可以作为一个训练数据集,可以用于训练下述S303中的机器学习模型。
一些可能的实施例中,为了确保数据库操作语句集与多个数据库训练语句集之间的匹配度满足要求,上述确定与数据库操作语句集匹配的多个数据库训练语句集,可以包括步骤1-步骤3:
步骤1、获取多个数据库候选操作语句集。
步骤2、计算多个数据库候选操作语句集各自与数据库操作语句集的第一相似度。
可选地,“计算多个数据库候选操作语句集各自与数据库操作语句集的第一相似度”可以通过以下方式4或方式5实现:
方式4,首先,确定数据库操作语句集对应的第一特征向量。其中,第一特征向量可以包括多个第一元素,每个第一元素对应一种数据库操作语句,每个第一元素的值可以为第一元素对应的数据库操作语句在数据库操作语句集中的比例。
上述的数据库操作语句的类别可以基于数据库操作语句的操作类型划分。其中,数据库操作语句的操作类型可以包括:增加、删除、修改、查询。以数据库操作语句集为sql语句集为例,基于上述的数据库操作语句的操作类型,可以将sql语句划分为4种sql语句,分别为:增操作sql语句,删操作sql语句,改操作sql语句,查操作sql语句。
此外,上述的数据库操作语句的类别也可以基于数据库操作语句包含的关键字特征划分。以数据库操作语句集为sql语句集为例,sql语句包括如下一项或多项关键字:select、delete、update、insert、from、set、into、values、where、count、sum、avg、max、min、and、or、all、any、between、exists、limit、asc、desc、<、>、<=、>=、!=、==、或=。假设一条sql语句为“select*from students where id>3”,那么这条sql语句中的关键字分别为“select”、“from”“where”、“>”,从而这条sql语句包含的关键字特征为“select fromwhere>”,从而可以将包含的关键字相同的数据库操作语句确定为同一种数据库操作语句。也即是说,对于多条数据库操作语句,若包含的关键字相同,则这多条数据库操作语句包含的关键字特征相同,可以视为同一种数据库操作语句。
具体地,以数据库操作语句集为sql语句集为例,确定sql语句集对应的第一特征向量可以包括:统计sql语句集中各种sql语句的占比,即各种sql语句的数量与sql语句总数的比值,以确定各种sql语句对应的第一元素,进而确定sql语句集对应的第一特征向量。
当数据库操作语句的类别基于数据库操作语句的操作类型划分时,确定sql语句集对应的第一特征向量的过程可以参照下表2。表2为sql语句集中各种sql语句的占比情况表,假设sql语句集共有2000条sql语句,其中,增操作sql语句、删操作sql语句、改操作sql语句、查操作sql语句分别占总sql语句的比例为:60%(1200/2000)、20%(400/2000)、10%(200/2000)、10%(200/2000),那么可以确定各种sql语句对应的第一元素分别为0.6、0.2、0.1、0.1,从而可以确定该sql语句集对应的第一特征向量为[0.6 0.2 0.1 0.1]。可以理解,由于sql语句的操作类型包括增加、删除、修改、查询,因此当数据库操作语句的类别基于数据库操作语句的操作类型划分时,方式4的实现过程可以称为:增删改查匹配方法。
表2
Figure BDA0002861966840000111
当数据库操作语句的类别基于数据库操作语句包含的关键字特征划分时,确定sql语句集对应的第一特征向量的过程可以参照下表3。表3为sql语句集中各种sql语句的占比情况表,假设sql语句集共有2000条sql语句,基于sql语句包含的关键字特征划分这2000条sql语句时,可以分为20种数据库操作语句,包括:sql1、sql2、…、sql20。其中,sql1、sql2、…、sql20分别占总sql语句的比例为:10%(200/2000)、20%(400/2000)、…、10%(200/2000),那么可以确定各种sql语句对应的第一元素分别为0.1、0.2、…、0.1,从而可以确定该sql语句集对应的第一特征向量为[0.1 0.2 0.1 0.1]。可以理解,由于sql语句通常包含于数据库管理系统的运行日志中,因此,当数据库操作语句的类别基于数据库操作语句包含的关键字特征划分时,方式4的实现过程可以称为:日志匹配方法。
表3
Figure BDA0002861966840000112
然后,确定数据库操作语句目标集对应的第二特征向量。其中,数据库操作语句目标集为多个数据库候选操作语句集中的任一数据库候选操作语句集,第二特征向量可以包括多个第二元素,每个第二元素对应一种数据库操作语句,每个第二元素的值为第二元素对应的数据库操作语句在数据库操作语句目标集中的比例。
类似地,第二特征向量的具体确定方式可以参照上述第一特征向量的具体确定方式,在此不再赘述。
可以理解,第一特征向量可以表征各种类型的关键字在数据库操作语句集中的数量特征,第二特征向量可以表征各种类型的关键字在数据库操作语句目标集中的数量特征,从而,第一特征向量可以表征数据库操作语句集的特征,第二特征向量可以表征数据库操作语句目标集的特征。这样,确定第一特征向量和第二特征向量的相似度,即可确定两个语句集的相似度。
最后,计算第一特征向量与每个第二特征向量的第二相似度。其中,第二相似度用于表示第一相似度。
示例性地,可以采用欧氏距离、夹角余弦等方法,计算第一特征向量与每个第二特征向量的第二相似度,本申请对此不作限定。
可以理解,在计算出第一特征向量与每个第二特征向量的第二相似度后,即可确定多个数据库候选操作语句集各自与数据库操作语句集的第一相似度。
以下结合表4、表5说明方式4的效果。
表4为基于上述的增删改查匹配方法或日志匹配方法,识别不同类型的工作负载的成功率情况表。请参照表4,工作负载包括tpccorg、tpcc1-tpcc9、wikiorg、wiki1-wiki9,其中,tpccorg、tpcc1-tpcc9都属于前述的TPC-C benchmark,不同之处在于包含的语句不完全相同。wikiorg、wiki1-wiki9都属于前述的wiki benchmark,不同之处在于包含的语句不完全相同。表4的数据中,增删改查匹配方法正确识别tpccorg的成功率为57%,日志匹配方法为100%;增删改查匹配方法正确识别tpcc1的成功率为57%,日志匹配方法为100%,以此类推,可见上述的日志匹配方法相较于增删改查匹配方法,能更加准确地确定出两个工作负载是否匹配。
表4
Figure BDA0002861966840000121
Figure BDA0002861966840000131
表5为基于上述日志匹配方法,计算不同类型工作负载的相似度的情况表。其中,不同类型的工作负载包括:wikiorg、wiki1、wiki2、wiki3、tpccorg、tpcc1和tpcc2。参见表5的数据,除第一行和第二列外,不同行不同列处的单元格的数据为两个工作负载之间的相似度。例如,第二行第二列的值为1,表示基于上述日志匹配方法计算两个wikiorg的相似度,得到的相似度为1;又例如,第二行第三列的值为0.918762,表示基于上述日志匹配方法计算wikiorg和wiki1的相似度,得到的相似度为0.918762。以此类推,可见上述日志匹配方法可以准确区分不同类型的工作负载。
表5
wikiorg wiki1 wiki2 wiki3 tpccorg tpcc1 tpcc2
wikiorg 1 0.918762 0.692079 0.637795 0.047114 0.040276 0.046159
wiki1 1 0.612412 0.624325 0.025957 0.020212 0.025709
wiki2 1 0.55753 0.371266 0.317021 0.363183
wiki3 1 0.103981 0.088755 0.10206
tpccorg 1 0.876257 0.998915
tpcc1 1 0.883248
tpcc2 1
应理解,由于每个第一元素的值为第一元素对应的数据库操作语句在数据库操作语句集中的比例,因此,与第一特征向量可以表征各种类型的数据库操作语句在数据库操作语句集中的比例特征类似,第二特征向量也可以表征各种类型的数据库操作语句在数据库操作语句目标集中的比例特征。如此,可以通过计算第一特征向量与第二特征向量的第二相似度的方式,更加准确地确定出数据库训练语句集与数据库操作语句集的匹配程度。
方式5,首先,确定数据库操作语句集对应的第一关键字向量。其中,第一关键字向量可以包括多个第三元素,每个第三元素对应一个关键字,每个第三元素的值可以为第三元素对应的关键字在数据库操作语句集中的比例。
以数据库操作语句集为sql语句集为例,sql语句包括如下一项或多项关键字:select、delete、update、insert、from、set、into、values、where、count、sum、avg、max、min、and、or、all、any、between、exists、limit、asc、desc、<、>、<=、>=、!=、==、或=。
确定数据库操作语句集对应的第一关键字向量可以包括:统计sql语句集中各种关键字的占比,即各种关键字的数量与sql语句集中关键字的总数量的比值,以确定各种关键字对应的第三元素,进而确定sql语句集对应的第一关键字向量。
例如,表6为sql语句集中各种关键字的占比情况表,参照下表6,假设sql语句集共有2500条sql语句,每条sql语句平均有4个关键字,共有10000个关键字。其中,select、delete、…、==、=分别占sql语句集中关键字的总数量的比例为:5%、4%、…、1%、2%,那么,可以确定各种关键字对应的第三元素分别为0.05、0.04、…、0.01、0.02,从而可以确定该sql语句集对应的第一关键字向量为[0.05 0.04…0.01 0.02]。
表6
Figure BDA0002861966840000141
然后,确定数据库操作语句目标集对应的第二关键字向量。其中,数据库操作语句目标集为多个数据库候选操作语句集中的任一数据库候选操作语句集,第二关键字向量包括多个第四元素,每个第四元素对应一个关键字,每个第四元素的值为第四元素对应的关键字在数据库操作语句目标集中的比例。
类似地,第二关键字向量的确定方式可以参照上述第一关键字向量的确定方式,在此不再赘述。
可以理解,第一关键字向量可以表征各种类型的关键字在数据库操作语句集中的数量特征,第二关键字向量可以表征各种类型的关键字在数据库操作语句目标集中的数量特征,从而,第一关键字向量可以表征数据库操作语句集的特征,第二关键字向量可以表征数据库操作语句目标集的特征。这样,确定第一关键字向量和第二关键字向量的相似度,即可确定两个语句集的相似度。
最后,计算第一关键字向量与每个第二关键字向量的第三相似度。其中,第三相似度用于表示第一相似度。
类似地,也可以采用欧氏距离、夹角余弦等计算方法,计算第一关键字向量与第二关键字向量的第三相似度,本申请对此不作限定。
其中,上述的第一特征向量、第二特征向量、第一关键字向量、第二关键字向量均可以被归一化,向量的归一化可以参照现有技术,在此不再赘述。
可以理解,在计算出第一关键字向量与每个第二关键字向量的第三相似度后,即可确定出多个数据库候选操作语句集各自与数据库操作语句集的第一相似度。
应理解,由于每个第三元素的值可以为第三元素对应的关键字在数据库操作语句集中的比例,因此,与第一关键字向量可以表征各种类型的关键字在数据库操作语句集中的数量特征类似,第二关键字向量也可以表征各种类型的关键字在数据库操作语句目标集中的数量特征,进而通过计算第一关键字向量与每个第二关键字向量的第三相似度,有助于更加准确地确定数据库训练语句集与数据库操作语句集的匹配程度。
步骤3、将多个数据库候选操作语句集中,第一相似度大于相似度阈值的数据库候选操作语句集,确定为数据库训练语句集。
示例性地,表7为数据库操作语句集与数据库候选操作语句集的匹配情况表。请参照下表7,表7中包括1个数据库操作语句集(workload1),10个数据库候选操作语句集(A1-A10)。其中,表7还包括A1-A10中每个数据库候选操作语句集与workload1之间的第一相似度。假设相似度阈值为99%,则A7、A8、A9和A10与workload1匹配,即A7、A8、A9和A10可以被确定为数据库训练语句集。
表7
Figure BDA0002861966840000151
应理解,通过执行上述步骤1-步骤3,可以使得所确定出的多个数据库训练语句集与数据库操作语句集满足相似度要求,以提高多个数据库训练语句集与数据库操作语句集的匹配度,从而可以实现建立的机器学习模型所依据的训练数据集,与数据库管理系统运行的实际业务场景相对应。
S203,基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型。
上述的机器学习模型包括但不限于:随机森林模型、深度学习模型、强化学习模型等,本申请对此不作限定。
示例性的,表8为多个数据库训练语句集及其对应数据表。请参照表8,假定通过执行上述S301、S302确定出的数据库训练语句集包括:B1、B2、…、B1000,B1-B1000分别对应的数据库参数训练集包括:C1、C2、…、C1000,B1-B1000分别对应的数据库性能训练数据包括:D1、D2、…、D1000,则可以将C1-C1000和D1-D1000作为训练数据集,训练机器学习模型,从而建立机器学习模型。
表8
数据库训练语句集 数据库参数训练集 数据库性能训练数据
B1 C1 D1
B2 C2 D2
B1000 C1000 D1000
其中,该机器学习模型可以用于确定:多个数据库参数候选集各自对应的数据库性能预测结果。这里的数据库参数候选集可以包括:数据库管理系统的一个配置参数集合。也即是说,该机器学习模型可以预测:一个基于配置参数集合配置后的数据库管理系统的性能。
一些可能的实施例中,为了减少建立随机森林模型的计算量,以提高建立随机森林模型的效率,上述的基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型,可以包括步骤4、步骤5,步骤4、步骤5的说明如下:
步骤4、基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,确定数据库参数训练集中的多个参数项各自对应的特征重要性度量值。
其中,数据库参数训练集可以包括多个参数项,每个参数项都可以有对应的取值范围。示例性的,表9为数据库参数训练集的多个参数项的取值情况表,参照下表9,假设数据库参数训练集包括E1-E1000,E1-E1000对应的数据库性能训练数据包括F1-F1000,E1-E1000的各个参数项的取值如表9所示,则可以根据E1-E1000的各个参数项的取值以及F1-F1000,确定各个参数项的特征重要性度量值。可选地,可以将多个数据库参数训练集和数据库性能训练数据作为训练数据集,使用随机森林模型选择数据库参数训练集中的多个参数项各自的特征重要性度量值。
例如,可以将多个数据库参数训练集和数据库性能训练数据作为样本,计算数据库参数训练集中的多个参数项各自对应的基尼系数(gini index,GI)或信息增益(information gain,IG),从而确定多个参数项各自的特征重要性度量值。或者,通过袋外数据(out-of-bag,OOB)错误率来计算多个参数项各自的特征重要性度量值。
表9
Figure BDA0002861966840000161
上述的参数项也可以理解为训练数据集的特征。上述的特征重要性度量值(重要性)可以是特征的选择性,也即是说:特征重要性度量值表示一个特征的取值与分类结果之间的相关性。
可以理解,上述的各个参数项的特征重要性度量值的具体实现,也可以参考现有实现方式,此处不再赘述。
步骤5、将多个参数项中,特征重要性度量值满足第二预设条件的参数项,确定为重要参数项。
上述的第二预设条件可以包括:多个参数项中特征重要性度量值排列在前n个的参数项,n为正整数。例如,可以将多个参数项中,特征重要性度量值排列在前5个的参数项,确定为重要参数项。
步骤6、基于重要参数项、多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立随机森林模型。
示例性地,假设有N个训练数据和M个重要参数项,每个训练数据包括1个数据库参数训练集和1个数据库性能训练数据,则可以根据N个训练数据生成多棵决策树,从而得到RF模型。其中,生成一棵决策树的过程可以为:基于有放回的抽样,从N个训练数据中选取N个样本作为一个训练集;然后从M个重要参数项中,随机不重复地选择d个重要参数项;最后,基于选取的训练集和这d个重要参数项建立决策树。需要说明的是,上述随机森林模型的建立过程仅为示例性说明,建立随机森林模型的具体过程,也可以参考相应的现有技术规定。
可选的,步骤6所建立的随机森林模型在确定一个数据库参数候选集对应的数据库性能预测结果时,可以:先确定该随机森林模型中的所有决策树输出的值的均值和/或方差,然后根据该均值和/或方差确定数据库参数候选集对应的数据库性能预测结果,以提高随机森林模型预测结果的准确度。
以下结合表10说明步骤4-步骤6的效果。
表10为使用Lasso Path方法或上述步骤4-步骤6建立的随机森林模型的预测误差情况表。具体地,Lasso Path方法或上述随机森林模型的预测误差为:使用Lasso Path方法或上述随机森林模型,基于不同数量的特征所确定的一个配置参数集对应的数据库性能预测结果,该数据库性能预测结果与实际数据库性能的误差。例如,假设一个配置参数集合有179个参数项(特征),选择其中的5个特征,然后使用上述随机森林模型确定该5个特征的配置参数对应的数据库性能预测结果,其中,该数据库性能预测结果表示:配置这5个特征的配置参数数据库管理系统的预测性能,最后确定该数据库性能预测结果与数据库管理系统的实际性能之间的误差为67TPS,这里的误差可以为平均绝对误差(mean absolute error,MAE),以此类推,可以确定Lasso Path方法或上述随机森林模型的预测误差。参见表10的数据,对于不同数量的特征,上述随机森林模型的预测误差均小于或等于Lasso Path的预测误差,因此,步骤4-步骤6建立的随机森林模型所确定的一个配置参数集对应的数据库性能预测结果更准确。
表10
Figure BDA0002861966840000171
应理解,由于特征重要性度量值可以表示参数项的重要程度,且参数项的重要程度与参数项的选择性正相关。例如,某一参数项重要程度越高,随机森林模型的输出结果越依赖于该参数项的取值。因此,在基于随机森林模型确定数据库参数候选集对应的数据库性能预测结果时,可以针对重要参数项进行更加精细地确定,以提高随机森林模型确定结果的准确度。并且,由于不需要基于数据库参数训练集的所有参数项建立随机森林模型,可以减少建立随机森林模型的计算量,从而提高建立随机森林模型的效率。
S204,基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
其中,第一预设条件可以为:多个数据库参数候选集中,数据库性能预测结果排列在前n个的数据库参数候选集,n为正整数。例如,可以将多个数据库参数候选集中,数据库性能预测结果排列在前3个的数据库参数候选集,确定为目标数据库参数集。
一些可能的实施例中,为了减少或避免搜索目标数据库参数集的过程中陷入局部最优解的风险,上述S204,基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集,可以包括:
基于遗传算法,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。其中,遗传算法的适应度函数由机器学习模型确定。
示例性地,将多个数据库参数候选集初始化后,迭代淘汰适应度不满足要求的个体。其中,假定初始化后的多个数据库参数候选集作为群体,一个数据库参数候选集作为个体,则每次迭代过程可以包括:基于适应度函数确定每个个体的适应度,如使用机器学习模型确定每个个体的数据库性能预测结果;然后,淘汰适应度小于或等于适应度阈值的个体,并基于淘汰后的群体、选择算子、交叉算子和变异算子,生成新的群体。需要说明的是,这里的选择算子、交叉算子和变异算子,可以参考相应的现有技术。
应理解,在多个数据库参数候选集(即样本空间)中,基于遗传算法可以不断地淘汰适应度不满足要求的数据库参数候选集(即样本),以及在每次淘汰后,对剩下的样本进行交叉和变异(即对剩下的样本进行离散),得到更小的样本空间。其中,不断地淘汰过程会使得样本空间中样本的适应度越来越高,直至样本空间中样本的适应度满足第一预设条件,从而得到全局最优的样本(即目标数据库参数集),以减少或避免搜索目标数据库参数集的过程中陷入局部最优解的风险。
可选地,为了减少遗传算法的搜索量,提高搜索效率,上述的基于遗传算法,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集,可以包括步骤7、步骤8,步骤7、步骤8的说明如下:
步骤7、基于抽样规则,获取多个数据库参数候选集的抽样结果。
其中,抽样规则可以包括如下一项或多项:系统抽样、简单随机抽样、分层抽样等抽样方法,抽样结果可以包括多个第一数据库参数选定集。
例如,上述的分层抽样可以是拉丁超立方抽样(latin hypercube sampling,LHS)。基于拉丁超立方抽样获取多个数据库参数候选集的抽样结果,可以尽可能地减少样本空间的重叠度,确保抽样结果与样本空间的结构比较相近,使得抽样结果能够代表样本空间,从而减少遗传算法的搜索量。
步骤8、基于遗传算法和多个第一数据库参数选定集,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
示例性地,将多个第一数据库参数选定集初始化后,迭代淘汰适应度不满足要求的个体。其中,假定初始化后的多个第一数据库参数选定集作为群体,一个第一数据库参数选定集作为个体,则每次迭代过程可以包括:基于适应度函数确定每个个体的适应度;然后,淘汰适应度小于或等于预设值适应度阈值的个体,并基于淘汰后的群体、选择算子、交叉算子和变异算子,生成新的群体。
需要说明的是,由于遗传算法可以在迭代过程中在样本空间中,通过交叉算子和变异算子对样本进行离散。也即是说,在多个第一数据库参数选定集中,基于遗传算法搜索目标数据库参数集时,确定的目标数据库参数集不一定包含于多个第一数据库参数选定集,但可以包含于多个数据库参数候选集中。
应理解,在多个数据库参数候选集中,通过抽样可以确定出离散的多个第一数据库参数选定集(即抽样结果),并且这抽样结果可以代表多个数据库参数候选集,以及这抽样结果的数量少于多个数据库参数候选集的数量,从而在基于遗传算法确定目标数据库参数集的过程中,先通过抽样获取多个数据库参数候选集的抽样结果,可以减少遗传算法的搜索量,提高搜索效率。
进一步地,在执行S204之后,上述方法还可以包括:根据目标数据库参数集配置数据库管理系统;运行数据库管理系统,并确定数据库管理系统的实际性能数据;若实际性能数据不满足要求(如实际性能数据的值小于或等于性能阈值)时,则再次返回执行S201。
这样,可以实现迭代调优的功能,从而能够不断地优化机器学习模型,有助于适应同一用户业务的变化,例如,即使云平台上租户的业务不断变化,通过上述迭代调优,租户所使用的数据库的参数配置也会不断地被优化,数据库可以维持在较高性能运行状态,从而能够最大程度地满足用户需求。
上面介绍的是:基于与数据库操作语句集匹配的训练数据集建立机器学习模型,并基于机器学习模型确定目标数据库参数集的参数配置方法,下面介绍:当参数配置装置包括监控模块和调优模块时,参数配置方法的具体实施过程。
示例性地,参照图3,图3为本申请实施例提供的参数配置方法的流程示意图二。该方法可以应用在如图1所示的参数配置系统中。该参数配置方法可以包括如下步骤:
S301,监控模块向数据库运行装置发送运行数据库信息,数据库运行装置接收来自监控模块的运行数据库信息。
其中,运行数据库信息可以指示数据库运行装置运行数据库管理系统。
S302,数据库运行装置运行数据库管理系统,并获取数据库管理系统的实际性能数据和数据库操作语句集。
S303,数据库运行装置向监控模块发送实际性能数据和数据库操作语句集,监控模块接收来自数据库运行装置的实际性能数据和数据库操作语句集。
可以理解,S301-S303可以实现上述S201。
S304,监控模块确定实际性能数据是否满足要求。
例如,假设数据库管理系统的实际性能数据为2200TPS,而大于或等于3000TPS才视为实际性能数据是否满足要求,则监控模块可以确定该实际性能数据不满足要求。
可以理解,若实际性能数据满足要求,则说明数据库管理系统不需要再进行调优。若实际性能数据不满足要求,则执行S305。
S305,监控模块向调优模块发送数据库操作语句集,调优模块接收来自监控模块的数据库操作语句集。
S306,调优模块匹配工作负载。
也即是说,调优模块确定与数据库操作语句集匹配的多个数据库训练语句集。
可以理解,S306的执行过程及效果可以参照上述S202,在此不再赘述。另外,在执行S306之前,调优模块还可以进行初始化,例如,初始化数据类等。
S307,调优模块训练模型。
也即是说,调优模块基于多个数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型。
可以理解,S307的执行过程及效果可以参照上述S203,在此不再赘述。
S308,调优模块基于遗传算法搜索目标数据库参数集。
也即是说,调优模块基于机器学习模型,将多个数据库参数候选集中,数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
可以理解,S308的执行过程及效果可以参照上述S204,在此不再赘述。
S309,调优模块向监控模块发送目标数据库参数集,监控模块接收来自调优模块的目标数据库参数集。
S310,监控模块向数据库运行装置发送目标数据库参数集,数据库运行装置接收来自监控模块的目标数据库参数集。
S311,数据库运行装置基于目标数据库参数集进行参数配置。
可以理解,在执行完S311后,还可以返回执行S302,从而实现迭代调优的功能。此外,上述S301-S311的实施方式和技术效果可以参照前述S201-S204,在此不作赘述。
为了更好地说明本申请的技术效果,以下结合表11,给出本申请实施例在实际应用时可以达到的技术效果。其中,表11的采集环境可以为上述表1所示的参数配置系统环境。
请参照表11,表11为使用两种参数配置方法配置参数的数据库管理系统的性能表。其中,数据库管理系统执行的工作负载包括:TPCC、TATP和Smallbank,数据库管理系统处理的数据量为103GB。参照表11中的数据可见:对于不同的工作负载,方式1对应的性能均低于本申请提供的参数配置方法。因此,本申请提供的方法实施例有助于提高数据库的性能。
表11
工作负载 处理的数据量 方式1 本申请提供的方法
TPCC 103GB 2100~2150TPS 2200TPS
TATP 103GB 7600~7690TPS 8500TPS
Smallbank 103GB 2700~2750TPS 2930TPS
基于图2或图3所示出的参数配置方法,参数配置装置可以根据多个数据库训练语句集对应的样本数据集(包括数据库参数训练集和数据库性能训练数据),建立机器学习模型,由于这多个数据库训练语句集与数据库管理系统的数据库操作语句集匹配,且数据库操作语句集与数据库管理系统的实际业务场景相关,也即是说,样本数据集与该实际业务场景相对应,从而可以确保基于实际业务场景建立的机器学习模型,使得机器学习模型确定的数据库管理系统的参数更合理,进而提高数据库的性能。
以上结合图2、图3详细说明了本申请实施例提供的参数配置方法。以下结合图4、图5详细说明用于执行本申请实施例提供的参数配置方法的参数配置装置。
示例性地,图4是本申请实施例提供的参数配置装置的结构示意图一。如图4所示,参数配置装置400包括:处理模块401和收发模块402。为了便于说明,图4仅示出了该参数配置装置的主要部件。
一些实施例中,参数配置装置400可适用于图1所示出的参数配置系统,执行图2、图3所示出的参数配置方法。
具体地,收发模块402,用于实现参数配置装置的收发功能,如执行上述S201及S301-S303。处理模块401,可以用于处理与参数配置相关的数据,如执行上述S202、S203、S204及、S306-S308。关于处理模块401和收发模块402的具体实现方式,可以参考上述图2或图3所示出的方法实施例中的相关内容,此处不再赘述。
可选地,收发模块402可以包括接收模块和发送模块(图4中未示出)。其中,发送模块用于实现参数配置装置400的发送功能,接收模块用于实现参数配置装置400的接收功能。
可选地,参数配置装置400还可以包括存储模块(图4中未示出),该存储模块存储有程序或指令。当处理模块401执行该程序或指令时,使得参数配置装置400可以执行图2或图3所示出的参数配置方法。
应理解,参数配置装置400中涉及的处理模块401可以由处理器或处理器相关电路组件实现,可以为处理器或处理单元;收发模块402可以由收发器或收发器相关电路组件实现,可以为收发器或收发单元。
需要说明的是,参数配置装置400可以是具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。
此外,参数配置装置400的技术效果可以参考图2或图3所示出的参数配置方法的技术效果,此处不再赘述。
示例性地,图5为本申请实施例提供的参数配置装置的结构示意图二。该参数配置装置可以是具有计算功能的电子设备,或者可设置于该电子设备中的芯片(系统)或其他部件或组件,或者包含该电子设备的装置。如图5所示,参数配置装置500可以包括处理器501。可选地,参数配置装置500还可以包括存储器502和/或收发器503。其中,处理器501与存储器502和收发器503耦合,如可以通过通信总线连接。
下面结合图5对参数配置装置500的各个构成部件进行具体的介绍:
其中,处理器501是参数配置装置500的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器501是一个或多个中央处理器(central processingunit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA)。
可选地,处理器501可以通过运行或执行存储在存储器502内的软件程序,以及调用存储在存储器502内的数据,执行参数配置装置500的各种功能。
在具体的实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中所示出的CPU0和CPU1。
在具体实现中,作为一种实施例,参数配置装置500也可以包括多个处理器,例如图5中所示的处理器501和处理器504。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,所述存储器502用于存储执行本申请方案的软件程序,并由处理器501来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器502可以和处理器501集成在一起,也可以独立存在,并通过参数配置装置500的接口电路(图5中未示出)与处理器501耦合,本申请实施例对此不作具体限定。
收发器503,用于与其他参数配置装置之间的通信。例如,参数配置装置500为电子设备,收发器503可以用于与另一个电子设备通信。
可选地,收发器503可以包括接收器和发送器(图5中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
可选地,收发器503可以和处理器501集成在一起,也可以独立存在,并通过参数配置装置500的接口电路(图5中未示出)与处理器501耦合,本申请实施例对此不作具体限定。
需要说明的是,图5中示出的参数配置装置500的结构并不构成对该参数配置装置的限定,实际的参数配置装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,参数配置装置500的技术效果可以参考上述方法实施例所述的参数配置方法的技术效果,此处不再赘述。
本申请实施例提供一种参数配置系统。该参数配置系统可以包括:上述的参数配置装置和数据库运行装置。
应理解,在本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种参数配置方法,其特征在于,包括:
获取数据库管理系统的数据库操作语句集;
确定与所述数据库操作语句集匹配的多个数据库训练语句集;每个所述数据库训练语句集均对应一个数据库参数训练集和一组数据库性能训练数据;
基于多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型;所述机器学习模型用于确定多个数据库参数候选集各自对应的数据库性能预测结果;
基于所述机器学习模型,将多个所述数据库参数候选集中,所述数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
2.根据权利要求1所述的方法,其特征在于,所述确定与所述数据库操作语句集匹配的多个数据库训练语句集,包括:
获取多个数据库候选操作语句集;
计算多个所述数据库候选操作语句集各自与所述数据库操作语句集的第一相似度;
将多个所述数据库候选操作语句集中,所述第一相似度大于相似度阈值的数据库候选操作语句集,确定为所述数据库训练语句集。
3.根据权利要求2所述的方法,其特征在于,所述计算多个所述数据库候选操作语句集各自与所述数据库操作语句集的第一相似度,包括:
确定所述数据库操作语句集对应的第一特征向量;所述第一特征向量包括多个第一元素,每个所述第一元素对应一种数据库操作语句,每个所述第一元素的值为所述第一元素对应的数据库操作语句在所述数据库操作语句集中的比例;
确定数据库操作语句目标集对应的第二特征向量;其中,所述数据库操作语句目标集为多个所述数据库候选操作语句集中的任一数据库候选操作语句集;所述第二特征向量包括多个第二元素,每个所述第二元素对应一种数据库操作语句,每个所述第二元素的值为所述第二元素对应的数据库操作语句在所述数据库操作语句目标集中的比例;
计算所述第一特征向量与每个所述第二特征向量的第二相似度;所述第二相似度用于表示所述第一相似度。
4.根据权利要求2所述的方法,其特征在于,所述计算多个所述数据库候选操作语句集各自与所述数据库操作语句集的第一相似度,包括:
确定所述数据库操作语句集对应的第一关键字向量;所述第一关键字向量包括多个第三元素,每个所述第三元素对应一个关键字,每个所述第三元素的值为所述第三元素对应的关键字在所述数据库操作语句集中的比例;
确定数据库操作语句目标集对应的第二关键字向量;其中,所述数据库操作语句目标集为多个所述数据库候选操作语句集中的任一数据库候选操作语句集;所述第二关键字向量包括多个第四元素,每个所述第四元素对应一个关键字,每个所述第四元素的值为所述第四元素对应的关键字在所述数据库操作语句目标集中的比例;
计算所述第一关键字向量与每个所述第二关键字向量的第三相似度,所述第三相似度用于表示所述第一相似度。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述基于多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型,包括:
基于多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,确定所述数据库参数训练集中的多个参数项各自对应的特征重要性度量值;
将多个所述参数项中,所述特征重要性度量值满足第二预设条件的参数项,确定为重要参数项;
基于所述重要参数项、多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立随机森林模型。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述基于所述机器学习模型,将多个所述数据库参数候选集中,所述数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集,包括:
基于遗传算法,将多个所述数据库参数候选集中,所述数据库性能预测结果满足所述第一预设条件的数据库参数候选集,确定为目标数据库参数集;
其中,所述遗传算法的适应度函数由所述机器学习模型确定。
7.根据权利要求6所述的方法,其特征在于,所述基于遗传算法,将多个所述数据库参数候选集中,所述数据库性能预测结果满足所述第一预设条件的数据库参数候选集,确定为目标数据库参数集,包括:
基于抽样规则,获取所述多个数据库参数候选集的抽样结果;所述抽样结果包括多个第一数据库参数选定集;
基于所述遗传算法和多个所述第一数据库参数选定集,将多个所述数据库参数候选集中,所述数据库性能预测结果满足所述第一预设条件的数据库参数候选集,确定为目标数据库参数集。
8.一种参数配置装置,其特征在于,包括:
收发模块,用于获取数据库管理系统的数据库操作语句集;
处理模块,用于确定与所述数据库操作语句集匹配的多个数据库训练语句集;每个所述数据库训练语句集均对应一个数据库参数训练集和一组数据库性能训练数据;
所述处理模块,还用于基于多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立机器学习模型;所述机器学习模型用于确定多个数据库参数候选集各自对应的数据库性能预测结果;
所述处理模块,还用于基于所述机器学习模型,将多个所述数据库参数候选集中,所述数据库性能预测结果满足第一预设条件的数据库参数候选集,确定为目标数据库参数集。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,还用于获取多个数据库候选操作语句集;
所述处理模块,还用于计算多个所述数据库候选操作语句集各自与所述数据库操作语句集的第一相似度;
所述处理模块,还用于将多个所述数据库候选操作语句集中,所述第一相似度大于相似度阈值的数据库候选操作语句集,确定为所述数据库训练语句集。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,还用于确定所述数据库操作语句集对应的第一特征向量;所述第一特征向量包括多个第一元素,每个所述第一元素对应一种数据库操作语句,每个所述第一元素的值为所述第一元素对应的数据库操作语句在所述数据库操作语句集中的比例;
所述处理模块,还用于确定数据库操作语句目标集对应的第二特征向量;其中,所述数据库操作语句目标集为多个所述数据库候选操作语句集中的任一数据库候选操作语句集;所述第二特征向量包括多个第二元素,每个所述第二元素对应一种数据库操作语句,每个所述第二元素的值为所述第二元素对应的数据库操作语句在所述数据库操作语句目标集中的比例;
所述处理模块,还用于计算所述第一特征向量与每个所述第二特征向量的第二相似度;所述第二相似度用于表示所述第一相似度。
11.根据权利要求9所述的装置,其特征在于,所述处理模块,还用于确定所述数据库操作语句集对应的第一关键字向量;所述第一关键字向量包括多个第三元素,每个所述第三元素对应一个关键字,每个所述第三元素的值为所述第三元素对应的关键字在所述数据库操作语句集中的比例;
所述处理模块,还用于确定数据库操作语句目标集对应的第二关键字向量;其中,所述数据库操作语句目标集为多个所述数据库候选操作语句集中的任一数据库候选操作语句集;所述第二关键字向量包括多个第四元素,每个所述第四元素对应一个关键字,每个所述第四元素的值为所述第四元素对应的关键字在所述数据库操作语句目标集中的比例;
所述处理模块,还用于计算所述第一关键字向量与每个所述第二关键字向量的第三相似度,所述第三相似度用于表示所述第一相似度。
12.根据权利要求8-11中任一项所述的装置,其特征在于,所述处理模块,还用于基于多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,确定所述数据库参数训练集中的多个参数项各自对应的特征重要性度量值;
所述处理模块,还用于将多个所述参数项中,所述特征重要性度量值满足第二预设条件的参数项,确定为重要参数项;
所述处理模块,还用于基于所述重要参数项、多个所述数据库训练语句集对应的数据库参数训练集和数据库性能训练数据,建立随机森林模型。
13.根据权利要求8-12中任一项所述的装置,其特征在于,所述处理模块,还用于基于遗传算法,将多个所述数据库参数候选集中,所述数据库性能预测结果满足所述第一预设条件的数据库参数候选集,确定为目标数据库参数集;
其中,所述遗传算法的适应度函数由所述机器学习模型确定。
14.根据权利要求13所述的装置,其特征在于,所述处理模块,还用于基于抽样规则,获取所述多个数据库参数候选集的抽样结果;所述抽样结果包括多个第一数据库参数选定集;
所述处理模块,还用于基于所述遗传算法和多个所述第一数据库参数选定集,将多个所述数据库参数候选集中,所述数据库性能预测结果满足所述第一预设条件的数据库参数候选集,确定为目标数据库参数集。
15.一种参数配置装置,其特征在于,所述参数配置装置用于执行如权利要求1-7中任一项所述的参数配置方法。
16.一种参数配置装置,其特征在于,所述参数配置装置包括:处理器;其中,
所述处理器,用于执行如权利要求1-7中任一项所述的参数配置方法。
17.一种参数配置装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述处理器,用于执行所述存储器中存储的计算机程序,以使得所述参数配置装置执行如权利要求1-7中任一项所述的参数配置方法。
18.一种参数配置装置,其特征在于,包括:处理器和接口电路;其中,
所述接口电路,用于接收代码指令并传输至所述处理器;
所述处理器用于运行所述代码指令以执行如权利要求1至7中任一项所述的方法。
19.一种处理器,其特征在于,包括:所述处理器用于执行如权利要求1-7中任一项所述的参数配置方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的参数配置方法。
21.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的参数配置方法。
CN202011569027.4A 2020-12-25 2020-12-25 参数配置方法及装置 Pending CN114756607A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011569027.4A CN114756607A (zh) 2020-12-25 2020-12-25 参数配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011569027.4A CN114756607A (zh) 2020-12-25 2020-12-25 参数配置方法及装置

Publications (1)

Publication Number Publication Date
CN114756607A true CN114756607A (zh) 2022-07-15

Family

ID=82324554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011569027.4A Pending CN114756607A (zh) 2020-12-25 2020-12-25 参数配置方法及装置

Country Status (1)

Country Link
CN (1) CN114756607A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389823A (zh) * 2023-07-05 2024-01-12 武汉贝多多网络科技有限公司 一种基于云计算的识别方法和系统
CN117435580A (zh) * 2023-12-21 2024-01-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备
CN117454133A (zh) * 2023-12-22 2024-01-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数配置方法及相关设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117389823A (zh) * 2023-07-05 2024-01-12 武汉贝多多网络科技有限公司 一种基于云计算的识别方法和系统
CN117435580A (zh) * 2023-12-21 2024-01-23 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备
CN117435580B (zh) * 2023-12-21 2024-03-22 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备
CN117454133A (zh) * 2023-12-22 2024-01-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数配置方法及相关设备
CN117454133B (zh) * 2023-12-22 2024-03-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数配置方法及相关设备

Similar Documents

Publication Publication Date Title
US11256555B2 (en) Automatically scalable system for serverless hyperparameter tuning
CN106897428B (zh) 文本分类特征提取方法、文本分类方法及装置
US10671656B2 (en) Method for recommending text content based on concern, and computer device
US11227118B2 (en) Methods, devices, and systems for constructing intelligent knowledge base
CN114756607A (zh) 参数配置方法及装置
US20200081899A1 (en) Automated database schema matching
US8108367B2 (en) Constraints with hidden rows in a database
EP3591586A1 (en) Data model generation using generative adversarial networks and fully automated machine learning system which generates and optimizes solutions given a dataset and a desired outcome
CN111898366B (zh) 文献主题词聚合方法、装置、计算机设备及可读存储介质
WO2020077824A1 (zh) 异常问题的定位方法、装置、设备及存储介质
US11461298B1 (en) Scoring parameter generation for identity resolution
CN107168995B (zh) 一种数据处理方法及服务器
CN111291070A (zh) 一种异常sql检测方法、设备及介质
CN110569289B (zh) 基于大数据的列数据处理方法、设备及介质
US20200175390A1 (en) Word embedding model parameter advisor
CN113392150A (zh) 一种基于业务域的数据表展示方法、装置、设备及介质
CN112949269A (zh) 可视化数据分析报表的生成方法、系统、设备及存储介质
WO2022156086A1 (zh) 人机交互方法、装置、设备及存储介质
CN116150194B (zh) 数据获取方法、装置、电子设备和计算机可读介质
US20230351172A1 (en) Supervised machine learning method for matching unsupervised data
CN111737543A (zh) 一种问答对的提取方法、装置、设备和存储介质
CN111858899B (zh) 语句处理方法、装置、系统和介质
CN115129990A (zh) 一种基于用户需求的人力资源在线匹配系统
CN115129864A (zh) 文本分类方法、装置、计算机设备和存储介质
CN114357180A (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