CN112463763B - 基于RF算法的MySQL数据库参数筛选方法 - Google Patents

基于RF算法的MySQL数据库参数筛选方法 Download PDF

Info

Publication number
CN112463763B
CN112463763B CN202011299781.0A CN202011299781A CN112463763B CN 112463763 B CN112463763 B CN 112463763B CN 202011299781 A CN202011299781 A CN 202011299781A CN 112463763 B CN112463763 B CN 112463763B
Authority
CN
China
Prior art keywords
parameter
parameters
value
database
mysql
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
CN202011299781.0A
Other languages
English (en)
Other versions
CN112463763A (zh
Inventor
杨晓春
马红
舒昭维
王斌
Original Assignee
东北大学
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 东北大学 filed Critical 东北大学
Priority to CN202011299781.0A priority Critical patent/CN112463763B/zh
Publication of CN112463763A publication Critical patent/CN112463763A/zh
Application granted granted Critical
Publication of CN112463763B publication Critical patent/CN112463763B/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
    • 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/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于RF算法的MySQL数据库参数筛选方法,涉及数据库技术领域。本发明通过计算每个参数的重要性,同时对参数的默认值进行判定,若判定当前参数的默认值效果较好,则不对该参数进行调优,将它从序列中删掉,然后根据特征贡献度对剩下的参数进行排序,选择top K的参数进行数据库参数调优。不仅大大提高了参数调优的效率,还节省了人力、物力和时间的花销。

Description

基于RF算法的MySQL数据库参数筛选方法
技术领域
本发明涉及数据库技术领域,尤其涉及一种基于RF算法的MySQL数据库参数筛选方法。
背景技术
数据库系统(DBMS)的性能由上百个参数配置决定,合理的参数配置能够提高数据库系统的性能,如更高的吞吐量等。MySQL数据库参数数量大,超过500个,如果对所有参数进行调优,不仅增加了调优难度,而且人力、物力消耗巨大,专业的数据库管理员在实际生产环境中优化数据库参数时,会根据业务场景调整30个左右的相关的参数,而不是对所有的参数都进行调优。因为数据库会根据工作负载的不同对各种资源的需求不同,只需调整在此条件下对数据库影响较大的参数,就能得到较高的性能。而且,MySQL数据库中每个参数都有默认值,有的默认值已经很好了,无需再修改。所以,需要根据工作负载对MySQL参数进行筛选。
对MySQL参数进行人工筛选,不仅耗时大,还还能漏掉重要参数。于是,国内外学者开始使用算法根据参数特征自动筛选参数。目前,主要的人工智能方法为OtterTune在2017年SIGMOD会议上提出使用LassoPath算法选择重要性高的参数,根据参数与性能之间的相关性来对参数进行排序,选择top K的参数来进行调优。但此方法存在一个缺点:Lasso只能发现参数和性能的线性相关性,而非线性相关性很难发现。
数据库管理员在进行参数优化时,会尝试对某个参数取不同的值,观察性能的变化,将对性能影响最大的几个参数调整到最优。某个参数取值不同对性能影响较大,说明该参数和性能的相关性较大,所以只需要得到每个参数和性能的相关性,就可以对参数进行排序,然后选择部分重要的参数进行优化。而参数与性能之间的关系分为线性的和非线性的,因此,选择RF(RandomForest)随机森林算法。
随机森林算法是通过集成学习的思想将多棵决策树集成的一种算法,且内部任意两棵树都没有依赖关系。随机森林首先,用bootstrap方法生成m个训练集,然后,对于每个训练集,构造一颗决策树,在节点找特征进行分裂的时候,并不是对所有特征找到能使得指标(如信息增益)最大的,而是在特征中随机抽取一部分特征,在抽到的特征中间找到最优解,应用于节点,进行分裂。随机森林的方法由于有了bagging,也就是集成的思想在,实际上相当于对于样本和特征都进行了采样,所以可以避免过拟合。
发明内容
针对现有技术的不足,本发明提供一种基于RF算法的MySQL数据库参数筛选方法,通过计算每个参数的重要性,同时对参数的默认值进行判定,若判定当前参数的默认值效果较好,则不对该参数进行调优,将它从序列中删掉,然后根据特征贡献度对剩下的参数进行排序,选择top K的参数进行数据库参数调优。
为解决上述技术问题,本发明所采取的技术方案是:
一种基于RF算法的数据库MySQL参数筛选方法,包括以下步骤:
步骤1:采集MySQL数据库参数制作样本数据集,对样本数据集中的每条样本数据进行测试得到每个MySQL数据库参数的取值、吞吐量、工作负载的增删改查比例、表的个数、列的个数、二级索引的个数信息;
步骤2:对样本数据进行预处理,所述预处理包括归一化、向量化;
步骤3:匹配工作负载的数据,根据工作负载的增删改查比例、表列个数的信息来匹配工作负载对应的MySQL参数;
步骤4:基于随机森林算法计算MySQL参数对数据库性能的重要性,进行默认值判定,对重要性大小进行排序,选出top K的参数,完成对进行MySQL参数的筛选,并对筛选后的MySQL参数进行数据库调优。
步骤4.1:构建随机森林,针对样本数据集,遍历每一个参数的每一个值,用该值将样本数据集分成两个集合,左集合S_left包含小于等于该值的样本、右集合S_right包含大于该值的样本,每一个集合称为一个节点,分别计算这两个节点的均方误差mse,找到使得左节点的均方误差和右节点的均方误差最小的值,记录下此时的参数名和参数值,即为最佳分割特征和最佳分割值,均方误差计算如下式所示;
其中,MSE为均方误差,其中N是样本数量,i是每一个数据样本,fi为每一个样本点的目标值,yi为样本点i的平均值;
步骤4.2:基于随机森林特征选择法参数排序进行修改,使用基尼指数以及参数在树中出现的最高层级两种方法对参数重要性进行评估,得到参数的两种排序,对每个参数的两种排序序号进行相加求和再平均,得到参数的重要性排序;
所述使用基尼指数对参数重要性进行评估,在计算第i个参数的重要性的时候,随机对样本特征加入噪声干扰,计算其基尼不纯度,不纯度越高,说明这个参数越重要,由此对参数进行排序;
所述使用参数在树中出现的最高层级对参数重要性进行评估,对于MySQL而言,越早出现的参数对数据库性能的影响越大,没出现过的属性层级为树的高度+1,取所有树的均值;
步骤4.3:对参数默认值进行判定;随机在数据集中取M个数据,然后循环M次,每次循环把这条数据中的要判定的参数设为默认值和其他随机值,部署在数据库中进行吞吐量测试,比较吞吐量,有参数的默认值吞吐量高于其他值记为1分,M次得分求和,满分为M分,及格线为m分,m≤M,若M次得分大于m,则认为该参数默认值不需要调优,从排序队列中删除该参数;若小于m,则认为该参数默认值需要调优,在排序队列中保留该参数;
步骤4.4:默认值判定之后,得到最终的参数重要度排序列表,选择前K的参数进行数据库调优。
采用上述技术方案所产生的有益效果在于:
本发明提出了一种基于RF算法的数据库MySQL参数筛选方法,本发明提出的基于RF算法的MySQL参数筛选方法可以快速且较为准确的筛选中重要的参数,不仅大大提高了参数调优的效率,还节省了人力、物力和时间的花销。与现有调优方法中人工提取特征和ottertune中使用的LassoPath方法相比,本发明基于随机森林根据特征贡献度对参数特征进行排序更加合理,并且实验结果表明针对参数调优问题,随机森林特征选择能力强于LassoPath,尤其是在选择的特征数目较少时,随机森林可以将最重要的参数选择出来。
附图说明
图1为本发明实施例数据库MySQL参数筛选方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例中使用python语言实现,与MySQL数据库进行交互测试,操作系统平台:Ubuntu16.04LTS。
一种基于RF算法的数据库MySQL参数筛选方法,如图1所示,包括以下步骤:
步骤1:采集MySQL数据库参数制作样本数据集,对样本数据集中的每条样本数据进行测试得到每个MySQL数据库参数的取值、吞吐量、工作负载的增删改查比例、表的个数、列的个数、二级索引的个数信息;
本实施例中使用分割差异化采样算法(DDS)在MySQL参数配置取值空间中采样2000条样本数据,将2000条样本数据逐一在MySQL数据库上进行测试,测试一次约7分钟,得到吞吐量、工作负载的增删改查比例、表的个数、列的个数和索引的个数等数据。
步骤2:对样本数据进行预处理,所述预处理包括归一化、向量化;然后根据工作负载的增删改查比例、表列个数的信息来匹配工作负载,找出对应数据。
步骤3:匹配工作负载的数据,根据工作负载的增删改查比例、表列个数的信息来匹配工作负载对应的MySQL参数;因为不同的工作负载对对参数的要求不同,如YCSB为代表的工作负载主要特点是读比较频繁,对读缓存、延迟操作等要求较高。
步骤4:基于随机森林算法计算MySQL参数对数据库性能的重要性,进行默认值判定,对重要性大小进行排序,选出top K的参数,完成对进行MySQL参数的筛选,并对筛选后的MySQL参数进行数据库调优;
步骤4.1:构建随机森林,针对样本数据集,遍历每一个参数的每一个值,用该值将样本数据集分成两个集合,左集合S_left包含小于等于该值的样本、右集合S_right包含大于该值的样本,每一个集合称为一个节点,分别计算这两个节点的均方误差mse,找到使得左节点的均方误差和右节点的均方误差最小的值,记录下此时的参数名和参数值,即为最佳分割特征和最佳分割值,均方误差计算如下式所示;
其中,MSE为均方误差,其中N是样本数量,i是每一个数据样本,fi为每一个样本点的目标值,yi为样本点i的平均值;
步骤4.2:基于随机森林特征选择法参数排序进行修改,使用基尼指数以及参数在树中出现的最高层级两种方法对参数重要性进行评估,得到参数的两种排序,对每个参数的两种排序序号进行相加求和再平均,得到参数的重要性排序;
所述使用基尼指数对参数重要性进行评估,在计算第i个参数的重要性的时候,随机对样本特征加入噪声干扰,计算其基尼不纯度,不纯度越高,说明这个参数越重要,由此对参数进行排序;
所述使用参数在树中出现的最高层级对参数重要性进行评估,对于MySQL而言,越早出现的参数对数据库性能的影响越大,没出现过的属性层级就为树的高度+1,取所有树的均值;
步骤4.3:对参数默认值进行判定;
本实施例中随机在数据集中取10个数据,然后循环10次,每次循环吧这条数据中的要判定的参数设为默认值和其他随机值,部署在数据库中进行吞吐量测试,比较吞吐量,有参数的默认值吞吐量高于其他值记为1分,10次得分求和,满分为10分,及格线为7分。若10次得分大于7,则认为该参数默认值效果较好,不需要调优,从排序队列中删除该参数;若小于7,则认为该参数默认值不好,需要调优,在排序队列中保留该参数。
步骤4.4:默认值判定之后,得到最终的参数重要度排序列表,根据数据库管理员的调优经验,选择前K的参数进行数据库调优。
本实施例实验结果分析:
(1)基于TPCC工作负载默认比例的训练数据,参数重要性排序如表1所示。
表1参数重要性排序
表中为共26个人工筛选的重要特征排序情况,表中序号为2、4、7、16、151的参数是对MySQL数据库最重要的特征,序号11、14、15、17、20的参数是第二重要的特征,其他的是第三重要的特征,可以看到大部分重要特征都排在前面。
(2)根据已有数据对LassoPath和随机森林特征选择进行测试,两种方法从200个可调参数中分别选择Top k参数,将这些参数作为深度学习网络输入的特征,对比深度学习网络在测试集的误差。该实验一共有2000条数据,训练数据与测试数据比例是9:1;误差损失函数选择MAE(平均绝对误差,训练数据最大吞吐量为859req/sec)。实验结果如表2所示。实验结果表明针对参数调优问题,随机森林特征选择能力强于LassoPath,尤其是在选择的特征数目较少时,随机森林可以将最重要的参数选择出来。
表2算法对比
其中最后一列为不使用特征选择时的测试误差。LassoPath只能选出前80多个重要参数,剩余99个参数的重要性无法区分,但随机森林可以区分。MAE为测试多次取三次最小结果的平均值。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (1)

1.一种基于RF算法的MySQL数据库参数筛选方法,其特征在于:包括以下步骤:
步骤1:采集MySQL数据库参数制作样本数据集,对样本数据集中的每条样本数据进行测试得到每个MySQL数据库参数的取值、吞吐量、工作负载的增删改查比例、表的个数、列的个数、二级索引的个数信息;
步骤2:对样本数据进行预处理,所述预处理包括归一化、向量化;
步骤3:匹配工作负载的数据,根据工作负载的增删改查比例、表列个数的信息来匹配工作负载对应的MySQL参数;
步骤4:基于随机森林算法计算MySQL参数对数据库性能的重要性,进行默认值判定,对重要性大小进行排序,选出top K的参数,完成对进行MySQL参数的筛选,并对筛选后的MySQL参数进行数据库调优;
步骤4.1:构建随机森林,针对样本数据集,遍历每一个参数的每一个值,用该值将样本数据集分成两个集合,左集合S_left包含小于等于该值的样本、右集合S_right包含大于该值的样本,每一个集合称为一个节点,分别计算这两个节点的均方误差mse,找到使得左节点的均方误差和右节点的均方误差最小的值,记录下此时的参数名和参数值,即为最佳分割特征和最佳分割值,均方误差计算如下式所示;
其中,MSE为均方误差,其中N是样本数量,i是每一个数据样本,fi为每一个样本点的目标值,yi为样本点i的平均值;
步骤4.2:基于随机森林特征选择法参数排序进行修改,使用基尼指数以及参数在树中出现的最高层级两种方法对参数重要性进行评估,得到参数的两种排序,对每个参数的两种排序序号进行相加求和再平均,得到参数的重要性排序;
所述使用基尼指数对参数重要性进行评估,在计算第i个参数的重要性的时候,随机对样本特征加入噪声干扰,计算其基尼不纯度,不纯度越高,说明这个参数越重要,由此对参数进行排序;
所述使用参数在树中出现的最高层级对参数重要性进行评估,对于MySQL而言,越早出现的参数对数据库性能的影响越大,没出现过的属性层级为树的高度+1,取所有树的均值;
步骤4.3:对参数默认值进行判定;随机在数据集中取M个数据,然后循环M次,每次循环把这条数据中的要判定的参数设为默认值和其他随机值,部署在数据库中进行吞吐量测试,比较吞吐量,有参数的默认值吞吐量高于其他值记为1分,M次得分求和,满分为M分,及格线为m分,m≤M,若M次得分大于m,则认为该参数默认值不需要调优,从排序队列中删除该参数;若小于m,则认为该参数默认值需要调优,在排序队列中保留该参数;
步骤4.4:默认值判定之后,得到最终的参数重要度排序列表,选择前K的参数进行数据库调优。
CN202011299781.0A 2020-11-19 2020-11-19 基于RF算法的MySQL数据库参数筛选方法 Active CN112463763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011299781.0A CN112463763B (zh) 2020-11-19 2020-11-19 基于RF算法的MySQL数据库参数筛选方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011299781.0A CN112463763B (zh) 2020-11-19 2020-11-19 基于RF算法的MySQL数据库参数筛选方法

Publications (2)

Publication Number Publication Date
CN112463763A CN112463763A (zh) 2021-03-09
CN112463763B true CN112463763B (zh) 2023-09-29

Family

ID=74836730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011299781.0A Active CN112463763B (zh) 2020-11-19 2020-11-19 基于RF算法的MySQL数据库参数筛选方法

Country Status (1)

Country Link
CN (1) CN112463763B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032367A (zh) * 2021-03-24 2021-06-25 安徽大学 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统
CN114168216B (zh) * 2021-11-24 2024-04-26 阿里巴巴(中国)有限公司 一种参数调优方法、设备及存储介质
CN117435580B (zh) * 2023-12-21 2024-03-22 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 一种数据库参数筛选方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103270728A (zh) * 2010-12-09 2013-08-28 赛格纳斯广播公司 在通信网络中对数据进行优先化以进行智能丢弃的系统和方法
CN105574141A (zh) * 2015-12-15 2016-05-11 杭州朗和科技有限公司 一种对数据库进行数据迁移的方法和装置
CN110135494A (zh) * 2019-05-10 2019-08-16 南京工业大学 基于最大信息系数和基尼指标的特征选择方法
CN111581116A (zh) * 2020-06-16 2020-08-25 江苏师范大学 一种基于分层数据筛选的跨项目软件缺陷预测方法
CN111625953A (zh) * 2020-05-21 2020-09-04 中国石油大学(华东) 气体高压等温吸附曲线预测方法、系统、存储介质、终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2434225A (en) * 2006-01-13 2007-07-18 Cytokinetics Inc Random forest modelling of cellular phenotypes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103270728A (zh) * 2010-12-09 2013-08-28 赛格纳斯广播公司 在通信网络中对数据进行优先化以进行智能丢弃的系统和方法
CN105574141A (zh) * 2015-12-15 2016-05-11 杭州朗和科技有限公司 一种对数据库进行数据迁移的方法和装置
CN110135494A (zh) * 2019-05-10 2019-08-16 南京工业大学 基于最大信息系数和基尼指标的特征选择方法
CN111625953A (zh) * 2020-05-21 2020-09-04 中国石油大学(华东) 气体高压等温吸附曲线预测方法、系统、存储介质、终端
CN111581116A (zh) * 2020-06-16 2020-08-25 江苏师范大学 一种基于分层数据筛选的跨项目软件缺陷预测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Margin based variable importance for random forest;Yang Fan et al.;《2011 6th International Conference on Computer Science & Education (ICCSE)》;1361-1366 *
Spark平台下的基于随机森林算法的用户贷款风险预测研究;周杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-2064 *
一种多特征融合的软件开发者推荐;谢新强 等;《软件学报》;2306-2321 *

Also Published As

Publication number Publication date
CN112463763A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN112463763B (zh) 基于RF算法的MySQL数据库参数筛选方法
CN110851645B (zh) 一种基于深度度量学习下相似性保持的图像检索方法
US7225200B2 (en) Automatic data perspective generation for a target variable
CN110880019B (zh) 通过无监督域适应训练目标域分类模型的方法
US9710877B2 (en) Image processing apparatus and feature detection method
CN109241987A (zh) 基于加权的深度森林的机器学习方法
JP2005535952A (ja) 画像内容検索法
CN110866134B (zh) 一种面向图像检索的分布一致性保持度量学习方法
JPH10240716A (ja) 時系列データ解析装置及びプログラムを記録した機械読み取り可能な記録媒体
CN111860576A (zh) 一种基于随机森林的子宫内膜肿瘤分类标记方法
CN107194468A (zh) 面向情报大数据的决策树增量学习方法
JP2002230012A (ja) ドキュメントクラスタリング装置
CN109977030A (zh) 一种深度随机森林程序的测试方法及设备
CN111143436A (zh) 用于大数据的数据挖掘方法
CN116228484B (zh) 基于量子聚类算法的课程组合方法及装置
CN117497198B (zh) 一种高维医学数据特征子集筛选方法
CN113128535B (zh) 一种聚类模型的选取方法、装置、电子设备及存储介质
CN117435580B (zh) 一种数据库参数筛选方法及相关设备
CN107273713A (zh) 一种基于TM‑align的多域蛋白模板搜索方法
Teinemaa et al. Automatic Playlist Continuation through a Composition of Collaborative Filters
CN108776707B (zh) 针对探索性查询的抽样方法
CN117219279A (zh) 一种基于机器学习预测氯吡格雷治疗时发生htpr风险的系统和方法
Liu et al. Clustering web surfers with probabilistic models in a real application
Nakajima et al. Amplifying the differences between your positive samples and neighbors in image retrieval
CN117236387A (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
GR01 Patent grant
GR01 Patent grant