CN112650770A - 基于query workload分析的MySQL参数推荐方法 - Google Patents

基于query workload分析的MySQL参数推荐方法 Download PDF

Info

Publication number
CN112650770A
CN112650770A CN202011637925.9A CN202011637925A CN112650770A CN 112650770 A CN112650770 A CN 112650770A CN 202011637925 A CN202011637925 A CN 202011637925A CN 112650770 A CN112650770 A CN 112650770A
Authority
CN
China
Prior art keywords
vector
database
query
determined
parameters
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.)
Granted
Application number
CN202011637925.9A
Other languages
English (en)
Other versions
CN112650770B (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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN202011637925.9A priority Critical patent/CN112650770B/zh
Publication of CN112650770A publication Critical patent/CN112650770A/zh
Application granted granted Critical
Publication of CN112650770B publication Critical patent/CN112650770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • 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/29Graphical models, e.g. Bayesian networks
    • 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/047Probabilistic or stochastic networks
    • 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/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于query workload分析的MySQL参数推荐方法,首先收集不同query workload下的样本,并筛选出与待确定query workload相匹配的样本,构成匹配样本集,然后构建贝叶斯神经网络模型,利用参数最优的贝叶斯神经网络模型对数据库参数进行吞吐量的预测,得到吞吐量的预测值,最后根据吞吐量的预测值随机生成h组数据库参数,利用参数最优的贝叶斯神经网络模型对h组数据库参数进行预测,经过遗传算法的w次迭代,将最优值对应的一组数据库参数作为待确定query workload的数据库参数,本发明可以对query workload的相关信息进行有效分析,在多query workload的训练样本集中进行数据匹配,可以适应多种环境的参数推荐任务,在未收集过训练样本的query workload上也能推荐出优秀的数据库参数。

Description

基于query workload分析的MySQL参数推荐方法
技术领域
本发明涉及数据库调优技术领域,具体涉及一种基于query workload分析的MySQL参数推荐方法。
背景技术
MySQL数据库中有大量的参数,参数数目随版本更新还在不断增加(如5.7.23版本中有513个参数,8.0.12中有548个参数),种类多(如内存、线程、读写磁盘等),参数间存在相互关系(如相互依赖或竞争资源)。这些特点使用户难以正确调整参数,无法发挥数据库应有的性能。
云平台上用户数量巨大,不同用户的业务需求不同,而且同一用户的业务还有可能随时间变化;不同用户使用的硬件环境还存在差异,不可能存在一组通用的配置满足所有用户需求,所以需要提供一种更高效的MySQL参数自动调优方法,传统的方法是专业数据库管理员(DBA)不断观察尝试,寻找最优参数。但是云平台用户数量巨大,DBA调优成本太高。所以自动调优是一种可用的方案,但是也存在多种困难,而且在不同的查询工作负载(query workload)中最优的参数是不相同的。在以往的自动参数推荐系统中很多没有考虑到不同query workload下的测试场景,或者仅仅只是专门针对某一个或多个queryworkload进行实验测试。
发明内容
针对现有技术的不足,本发明提出一种基于query workload分析的MySQL参数推荐方法,包括以下步骤:
步骤1:利用拉丁超立方采样的方式,收集不同query workload下的样本,构成样本集;
步骤2:从所有的样本中筛选出与待确定query workload相匹配的样本,构成匹配样本集;
步骤3:构建贝叶斯神经网络模型,以匹配样本集中的数据库参数和对应的吞吐量作为训练样本对贝叶斯神经网络模型进行训练;
步骤4:当第j次训练后的均方误差达到预设误差阈值,或者j达到预设训练次数停止训练,将均方误差最小时的模型参数作为贝叶斯神经网络模型的最优参数;
步骤5:利用参数最优的贝叶斯神经网络模型对数据库参数进行吞吐量的预测,得到吞吐量的预测值;
步骤6:根据吞吐量的预测值随机生成h组数据库参数,利用参数最优的贝叶斯神经网络模型对h组数据库参数进行预测,经过遗传算法的w次迭代,将最优值对应的一组数据库参数作为待确定query workload的数据库参数,其中w表示遗传算法的预设最大迭代次数。
所述步骤1包括:
步骤1.1:利用数据库压力测试工具模拟一种query workload,随机生成N组数据库参数;
步骤1.2:将每组数据库参数应用于MySQL数据库上进行预设时间段内的压力测试,生成相应的监控数据,所述监控数据包括吞吐量、数据库状态变量、表的数量、列的数量、二级索引的数量以及general log,所述数据库状态变量包括insert语句、delete语句、update语句、select语句的执行次数;
步骤1.3:重复步骤1.2生成每组数据库参数对应的监控数据,将每组数据库参数以及对应的监控数据作为一组样本;
步骤1.4:设置M种不同的query workload,重复步骤1.1~步骤1.3得到N*M组样本,构建样本集。
所述步骤2的一种表述方式,包括:
步骤2.1:利用公式(1)计算出待确定query workload的各数据库状态变量所占比例
Figure BDA0002877244350000021
Figure BDA0002877244350000022
式中,
Figure BDA0002877244350000023
表示待确定query workload下各数据库状态变量的执行次数,s=1表示insert语句的执行次数,s=2表示delete语句的执行次数,s=3表示update语句的执行次数,s=4表示select语句的执行次数;
步骤2.2:将待确定query workload的各数据库状态变量所占比例构成一个向量
Figure BDA0002877244350000024
步骤2.3:将待确定query workload对应的表的数量
Figure BDA0002877244350000025
列的数量
Figure BDA0002877244350000026
二级索引的数量
Figure BDA0002877244350000027
构成一个向量
Figure BDA0002877244350000028
步骤2.4:利用公式(2)计算样本集中第i组数据库参数的各数据库状态变量所占的比例
Figure BDA0002877244350000029
Figure BDA00028772443500000210
式中,
Figure BDA00028772443500000211
表示第i组数据库参数的各数据库状态变量的执行次数;
步骤2.5:令i=1,2,…,N*M,计算出所有数据库参数的各数据库状态变量所占的比例;
步骤2.4:将第i组数据库参数的各数据库状态变量所占比例构成一个向量
Figure BDA0002877244350000032
步骤2.6:将待确定query workload对应的表的数量x1,i、列的数量x1,i、二级索引的数量x1,i构成一个向量P2,i=[x1,i x2,i x3,i];
步骤2.7:计算出向量
Figure BDA0002877244350000033
与向量P1,i之间的欧几里得距离L1,i,计算出向量
Figure BDA0002877244350000034
与向量P2,i之间的欧几里得距离L2,i
步骤2.8:如果欧几里得距离L1,i小于设置阈值
Figure BDA0002877244350000035
Figure BDA0002877244350000036
小于设置阈值
Figure BDA0002877244350000037
表示第i组数据库参数所在的一组样本为与待确定query workload相匹配的样本,将所有与待确定query workload相匹配的样本够成匹配样本集。
所述步骤2的另一种表述方式,包括:
步骤2-1.1:将待确定query workload的general log中的每条查询语句出现过的关键字、查询语句使用过的表的名称置1,没有出现过的关键字和没有使用过的表的名称置0,并按照预设规则构成一个行向量,所述预设规则是指MySQL数据库关键字和表的排列顺序;
步骤2-1.2:统计待确定query workload的general log中不同行向量的数量;
步骤2-1.3:利用公式(3)计算出待确定query workload的general log中每条查询语句对应的行向量所占比例,
Figure BDA0002877244350000031
式中,yv表示待确定query workload的general log中第v种行向量的数量,V表示待确定query workload的general log中不同行向量的种类数,γv表示第v种行向量所占的比例;
步骤2-1.4:将待确定query workload的general log中不同行向量对应的比例构成一个向量
Figure BDA0002877244350000038
步骤2-1.5:将样本集中第i个general log中的每条查询语句出现过的关键字、查询语句使用过的表的名称置1,没有出现过的关键字和没有使用过的表的名称置0,并按照预设规则构成一个行向量,所述预设规则是指MySQL数据库关键字和表的排列顺序;
步骤2-1.6:统计第i个general log中不同行向量的数量;
步骤2-1.7:利用公式(4)计算出第i个general log中每条查询语句对应的行向量所占比例,
Figure BDA0002877244350000041
式中,
Figure BDA0002877244350000042
表示第i个general log中第vi种行向量的数量,Vi表示第i个generallog中不同行向量的种类数,
Figure BDA0002877244350000043
表示第vi种行向量所占的比例;
步骤2-1.8:将第i个general log中不同行向量对应的比例构成一个向量Ti
步骤2-1.9:令i=1,2,…,N*M,计算出所有general log构成的向量;
步骤2-1.10:计算出所有向量
Figure BDA0002877244350000044
中的最大向量长度l,通过对应位置补0的方式,将向量长度小于l的向量扩充到长度为l;
步骤2-1.11:计算出扩充后的向量
Figure BDA0002877244350000045
与向量Ti'之间的欧几里得距离L'i,其中
Figure BDA0002877244350000046
表示向量
Figure BDA0002877244350000047
扩充后的向量,
Figure BDA0002877244350000048
表示向量Ti扩充后的向量;
步骤2-1.12:如果欧几里得距离L'i小于设置阈值
Figure BDA0002877244350000049
表示第i个general log所在的一组样本为与待确定query workload相匹配的样本,将所有与待确定query workload相匹配的样本够成匹配样本集。
本发明的有益效果是:
本发明提出了一种基于query workload分析的MySQL参数推荐方法,可以对工作负载query workload的相关信息进行有效分析,在多query workload的训练样本集中进行数据匹配,可以适应多种环境的参数推荐任务,在未收集过训练样本的query workload上也能推荐出优秀的数据库参数。本发明提供了两种筛选query workload匹配样本的方法,这两种方法分别在精度和效率有着优势,一种是根据查询比例筛选样本的方法,这种方法的执行效率会更高,只需要从数据库的状态变量中获取不同的查询语句执行次数进行计算;另一种是根据查询日志筛选样本的方法,这种方法需要对查询日志进行SQL embedding(Structured Query Language简称SQL),但是可以更好地挖掘query workload的相关信息。
附图说明
图1为本发明中的基于query workload分析的MySQL参数推荐方法流程图。
图2为本发明中的SQL embedding方法流程图。
具体实施方式
下面结合附图和具体实施实例对发明做进一步说明。
如图1所示,一种基于query workload分析的MySQL参数推荐方法,采用的操作系统为Centos 7.6、内存8G、交换分区10G、4核CPU(3.3GHz),编程软件为MySQL 5.7.23,所述方法包括:
步骤1:利用拉丁超立方采样的方式,收集不同工作负载query workload下的样本,构成样本集,包括:
步骤1.1:利用数据库压力测试工具oltpbench模拟一种query workload,随机生成N组数据库参数;
步骤1.2:将每组数据库参数应用于MySQL数据库上进行预设时间段内的压力测试,生成相应的监控数据,所述监控数据包括吞吐量、数据库状态变量、表的数量、列的数量、二级索引的数量以及查询日志general log,所述数据库状态变量包括insert语句、delete语句、update语句、select语句(即增删改查语句)的执行次数;
步骤1.3:重复步骤1.2生成每组数据库参数对应的监控数据,将每组数据库参数以及对应的监控数据作为一组样本;
步骤1.4:设置M种不同的query workload,重复步骤1.1~步骤1.3得到N*M组样本,构建样本集。
步骤2:从所有的样本中筛选出与待确定query workload相匹配的样本,构成匹配样本集,该步骤有两种实现方式,一种表述方式,包括:
步骤2.1:利用公式(1)计算出待确定query workload的各数据库状态变量所占比例
Figure BDA0002877244350000052
Figure BDA0002877244350000051
式中,
Figure BDA0002877244350000053
表示待确定query workload下各数据库状态变量的执行次数,s=1表示insert语句的执行次数,s=2表示delete语句的执行次数,s=3表示update语句的执行次数,s=4表示select语句的执行次数;
步骤2.2:将待确定query workload的各数据库状态变量所占比例构成一个向量
Figure BDA0002877244350000054
步骤2.3:将待确定query workload对应的表的数量
Figure BDA0002877244350000055
列的数量
Figure BDA0002877244350000056
二级索引的数量
Figure BDA0002877244350000057
构成一个向量
Figure BDA0002877244350000063
步骤2.4:利用公式(2)计算样本集中第i组数据库参数的各数据库状态变量所占的比例
Figure BDA0002877244350000064
Figure BDA0002877244350000061
式中,
Figure BDA0002877244350000065
表示第i组数据库参数的各数据库状态变量的执行次数;
步骤2.5:令i=1,2,…,N*M,计算出所有数据库参数的各数据库状态变量所占的比例;
步骤2.4:将第i组数据库参数的各数据库状态变量所占比例构成一个向量
Figure BDA0002877244350000066
步骤2.6:将待确定query workload对应的表的数量x1,i、列的数量x1,i、二级索引的数量x1,i构成一个向量P2,i=[x1,i x2,i x3,i];
步骤2.7:计算出向量
Figure BDA0002877244350000067
与向量P1,i之间的欧几里得距离L1,i,计算出向量
Figure BDA0002877244350000068
与向量P2,i之间的欧几里得距离L2,i
步骤2.8:如果欧几里得距离L1,i小于设置阈值
Figure BDA0002877244350000069
Figure BDA00028772443500000610
小于设置阈值
Figure BDA00028772443500000611
表示第i组数据库参数所在的一组样本为与待确定query workload相匹配的样本,将所有与待确定query workload相匹配的样本够成匹配样本集。
基于SQL embedding方法的另一种表述方式,SQL embedding方法的流程图如图2所示,包括:
步骤2-1.1:将待确定query workload的general log中的每条查询语句出现过的关键字、查询语句使用过的表的名称置1,没有出现过的关键字和没有使用过的表的名称置0,并按照预设规则构成一个行向量,所述预设规则是指MySQL数据库关键字和表的排列顺序;
步骤2-1.2:统计待确定query workload的general log中不同行向量的数量;
步骤2-1.3:利用公式(3)计算出待确定query workload的general log中每条查询语句对应的行向量所占比例,
Figure BDA0002877244350000062
式中,yv表示待确定query workload的general log中第v种行向量的数量,V表示待确定query workload的general log中不同行向量的种类数,γv表示第v种行向量所占的比例;
步骤2-1.4:将待确定query workload的general log中不同行向量对应的比例构成一个向量
Figure BDA0002877244350000072
步骤2-1.5:将样本集中第i个general log中的每条查询语句出现过的关键字、查询语句使用过的表的名称置1,没有出现过的关键字和没有使用过的表的名称置0,并按照预设规则构成一个行向量,所述预设规则是指MySQL数据库关键字和表的排列顺序;
步骤2-1.6:统计第i个general log中不同行向量的数量;
步骤2-1.7:利用公式(4)计算出第i个general log中每条查询语句对应的行向量所占比例,
Figure BDA0002877244350000071
式中,
Figure BDA0002877244350000073
表示第i个general log中第vi种行向量的数量,Vi表示第i个generallog中不同行向量的种类数,
Figure BDA0002877244350000074
表示第vi种行向量所占的比例;
步骤2-1.8:将第i个general log中不同行向量对应的比例构成一个向量Ti
步骤2-1.9:令i=1,2,…,N*M,计算出所有general log构成的向量;
步骤2-1.10:计算出所有向量
Figure BDA0002877244350000075
中的最大向量长度l,通过对应位置补0的方式,将向量长度小于l的向量扩充到长度为l;
步骤2-1.11:计算出扩充后的向量
Figure BDA0002877244350000076
与向量Ti'之间的欧几里得距离L'i,其中
Figure BDA0002877244350000077
表示向量
Figure BDA0002877244350000078
扩充后的向量,
Figure BDA0002877244350000079
表示向量Ti扩充后的向量;
步骤2-1.12:如果欧几里得距离L'i小于设置阈值
Figure BDA00028772443500000710
表示第i个general log所在的一组样本为与待确定query workload相匹配的样本,将所有与待确定query workload相匹配的样本够成匹配样本集。
步骤3:构建贝叶斯神经网络模型,以匹配样本集中的数据库参数和对应的吞吐量作为训练样本对贝叶斯神经网络模型进行训练;
贝叶斯神经网络作为MySQL参数值到吞吐量的映射,和传统神经网络不同,贝叶斯神经网络需要训练的是每个权重值的方差和均值,用来表示权重值的概率分布,基于贝叶斯公式的思想,通过先验概率求得后验概率,即贝叶斯神经网络的输出,贝叶斯神经网络模型的构建过程如下:贝叶斯神经网络的每一层是个概率分布,每一层的参数是按照神经元的个数对应生成的均值和方差,而非传统神经网络中的神经元的权重。贝叶斯神经网络的输入是数据库参数,网络结构采用3层网络结构,每一层的神经元个数分别为128、32和1,最终的输出值即吞吐量的预测值。
步骤4:当第j次训练后的均方误差达到预设误差阈值,或者j达到预设训练次数停止训练,将均方误差最小时的模型参数作为贝叶斯神经网络模型的最优参数;
步骤5:利用参数最优的贝叶斯神经网络模型对数据库参数进行吞吐量的预测,得到吞吐量的预测值;
步骤6:根据吞吐量的预测值随机生成h组数据库参数,利用参数最优的贝叶斯神经网络模型对h组数据库参数进行预测,经过遗传算法的w次迭代,将最优值对应的一组数据库参数作为待确定query workload的数据库参数,其中w表示遗传算法的预设最大迭代次数。

Claims (4)

1.一种基于query workload分析的MySQL参数推荐方法,其特征在于,包括:
步骤1:利用拉丁超立方采样的方式,收集不同query workload下的样本,构成样本集;
步骤2:从所有的样本中筛选出与待确定query workload相匹配的样本,构成匹配样本集;
步骤3:构建贝叶斯神经网络模型,以匹配样本集中的数据库参数和对应的吞吐量作为训练样本对贝叶斯神经网络模型进行训练;
步骤4:当第j次训练后的均方误差达到预设误差阈值,或者j达到预设训练次数停止训练,将均方误差最小时的模型参数作为贝叶斯神经网络模型的最优参数;
步骤5:利用参数最优的贝叶斯神经网络模型对数据库参数进行吞吐量的预测,得到吞吐量的预测值;
步骤6:根据吞吐量的预测值随机生成h组数据库参数,利用参数最优的贝叶斯神经网络模型对h组数据库参数进行预测,经过遗传算法的w次迭代,将最优值对应的一组数据库参数作为待确定query workload的数据库参数,其中w表示遗传算法的预设最大迭代次数。
2.根据权利要求1所述的一种基于query workload分析的MySQL参数推荐方法,其特征在于,所述步骤1包括:
步骤1.1:利用数据库压力测试工具模拟一种query workload,随机生成N组数据库参数;
步骤1.2:将每组数据库参数应用于MySQL数据库上进行预设时间段内的压力测试,生成相应的监控数据,所述监控数据包括吞吐量、数据库状态变量、表的数量、列的数量、二级索引的数量以及general log,所述数据库状态变量包括insert语句、delete语句、update语句、select语句的执行次数;
步骤1.3:重复步骤1.2生成每组数据库参数对应的监控数据,将每组数据库参数以及对应的监控数据作为一组样本;
步骤1.4:设置M种不同的query workload,重复步骤1.1~步骤1.3得到N*M组样本,构建样本集。
3.根据权利要求1所述的一种基于query workload分析的MySQL参数推荐方法,其特征在于,所述步骤2的一种表述方式,包括:
步骤2.1:利用公式(1)计算出待确定query workload的各数据库状态变量所占比例
Figure FDA0002877244340000011
Figure FDA0002877244340000012
式中,
Figure FDA0002877244340000013
表示待确定query workload下各数据库状态变量的执行次数,s=1表示insert语句的执行次数,s=2表示delete语句的执行次数,s=3表示update语句的执行次数,s=4表示select语句的执行次数;
步骤2.2:将待确定query workload的各数据库状态变量所占比例构成一个向量
Figure FDA0002877244340000021
步骤2.3:将待确定query workload对应的表的数量
Figure FDA0002877244340000022
列的数量
Figure FDA0002877244340000023
二级索引的数量
Figure FDA0002877244340000024
构成一个向量
Figure FDA0002877244340000025
步骤2.4:利用公式(2)计算样本集中第i组数据库参数的各数据库状态变量所占的比例
Figure FDA0002877244340000026
Figure FDA0002877244340000027
式中,
Figure FDA0002877244340000028
表示第i组数据库参数的各数据库状态变量的执行次数;
步骤2.5:令i=1,2,…,N*M,计算出所有数据库参数的各数据库状态变量所占的比例;
步骤2.4:将第i组数据库参数的各数据库状态变量所占比例构成一个向量
Figure FDA0002877244340000029
步骤2.6:将待确定query workload对应的表的数量x1,i、列的数量x1,i、二级索引的数量x1,i构成一个向量P2,i=[x1,i x2,i x3,i];
步骤2.7:计算出向量
Figure FDA00028772443400000210
与向量P1,i之间的欧几里得距离L1,i,计算出向量
Figure FDA00028772443400000211
与向量P2,i之间的欧几里得距离L2,i
步骤2.8:如果欧几里得距离L1,i小于设置阈值
Figure FDA00028772443400000212
Figure FDA00028772443400000213
小于设置阈值
Figure FDA00028772443400000214
表示第i组数据库参数所在的一组样本为与待确定query workload相匹配的样本,将所有与待确定query workload相匹配的样本够成匹配样本集。
4.根据权利要求1所述的一种基于query workload分析的MySQL参数推荐方法,其特征在于,所述步骤2的另一种表述方式,包括:
步骤2-1.1:将待确定query workload的general log中的每条查询语句出现过的关键字、查询语句使用过的表的名称置1,没有出现过的关键字和没有使用过的表的名称置0,并按照预设规则构成一个行向量,所述预设规则是指MySQL数据库关键字和表的排列顺序;
步骤2-1.2:统计待确定query workload的general log中不同行向量的数量;
步骤2-1.3:利用公式(3)计算出待确定query workload的general log中每条查询语句对应的行向量所占比例,
Figure FDA0002877244340000031
式中,yv表示待确定query workload的general log中第v种行向量的数量,V表示待确定query workload的general log中不同行向量的种类数,γv表示第v种行向量所占的比例;
步骤2-1.4:将待确定query workload的general log中不同行向量对应的比例构成一个向量T;
步骤2-1.5:将样本集中第i个general log中的每条查询语句出现过的关键字、查询语句使用过的表的名称置1,没有出现过的关键字和没有使用过的表的名称置0,并按照预设规则构成一个行向量,所述预设规则是指MySQL数据库关键字和表的排列顺序;
步骤2-1.6:统计第i个general log中不同行向量的数量;
步骤2-1.7:利用公式(4)计算出第i个general log中每条查询语句对应的行向量所占比例,
Figure FDA0002877244340000032
式中,
Figure FDA0002877244340000033
表示第i个general log中第vi种行向量的数量,Vi表示第i个general log中不同行向量的种类数,
Figure FDA0002877244340000034
表示第vi种行向量所占的比例;
步骤2-1.8:将第i个general log中不同行向量对应的比例构成一个向量Ti
步骤2-1.9:令i=1,2,…,N*M,计算出所有general log构成的向量;
步骤2-1.10:计算出所有向量
Figure FDA0002877244340000035
中的最大向量长度l,通过对应位置补0的方式,将向量长度小于l的向量扩充到长度为l;
步骤2-1.11:计算出扩充后的向量
Figure FDA0002877244340000036
与向量Ti'之间的欧几里得距离L'i,其中
Figure FDA0002877244340000037
表示向量
Figure FDA0002877244340000038
扩充后的向量,
Figure FDA0002877244340000039
表示向量Ti扩充后的向量;
步骤2-1.12:如果欧几里得距离L'i小于设置阈值
Figure FDA00028772443400000310
表示第i个general log所在的一组样本为与待确定query workload相匹配的样本,将所有与待确定query workload相匹配的样本够成匹配样本集。
CN202011637925.9A 2020-12-31 2020-12-31 基于query workload分析的MySQL参数推荐方法 Active CN112650770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011637925.9A CN112650770B (zh) 2020-12-31 2020-12-31 基于query workload分析的MySQL参数推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011637925.9A CN112650770B (zh) 2020-12-31 2020-12-31 基于query workload分析的MySQL参数推荐方法

Publications (2)

Publication Number Publication Date
CN112650770A true CN112650770A (zh) 2021-04-13
CN112650770B CN112650770B (zh) 2023-08-01

Family

ID=75366940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011637925.9A Active CN112650770B (zh) 2020-12-31 2020-12-31 基于query workload分析的MySQL参数推荐方法

Country Status (1)

Country Link
CN (1) CN112650770B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170109685A1 (en) * 2015-10-19 2017-04-20 International Business Machines Corporation Evaluating adoption of computing deployment solutions
CN109933601A (zh) * 2019-01-24 2019-06-25 深圳壹账通智能科技有限公司 数据库管理方法、系统、计算机装置及可读存储介质
CN110443364A (zh) * 2019-06-21 2019-11-12 深圳大学 一种深度神经网络多任务超参数优化方法及装置
US20200125568A1 (en) * 2018-10-18 2020-04-23 Oracle International Corporation Automated provisioning for database performance
CN111310833A (zh) * 2020-02-19 2020-06-19 清华大学 一种基于贝叶斯神经网络的出行方式识别方法
CN111339066A (zh) * 2020-05-20 2020-06-26 腾讯科技(深圳)有限公司 数据库优化方法、装置、电子设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170109685A1 (en) * 2015-10-19 2017-04-20 International Business Machines Corporation Evaluating adoption of computing deployment solutions
US20200125568A1 (en) * 2018-10-18 2020-04-23 Oracle International Corporation Automated provisioning for database performance
CN109933601A (zh) * 2019-01-24 2019-06-25 深圳壹账通智能科技有限公司 数据库管理方法、系统、计算机装置及可读存储介质
CN110443364A (zh) * 2019-06-21 2019-11-12 深圳大学 一种深度神经网络多任务超参数优化方法及装置
CN111310833A (zh) * 2020-02-19 2020-06-19 清华大学 一种基于贝叶斯神经网络的出行方式识别方法
CN111339066A (zh) * 2020-05-20 2020-06-26 腾讯科技(深圳)有限公司 数据库优化方法、装置、电子设备及计算机可读存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LIN MA 等: "Query-based Workload Forecasting for Self-Driving Database Management Systems", 《SIGMOD\'18》, pages 631 - 645 *
MICHAEL GIBAS 等: "Online Index Recommendations for High-Dimensional Databases Using Query Workloads", 《IEEE TRANSACTION ON KNOWLEDGE AND DATA ENGINEERING》, vol. 20, no. 2, pages 246 - 260, XP011195323, DOI: 10.1109/TKDE.2007.190690 *
国冰磊 等: "面向关系数据库查询的能耗建模及计划评价", 《计算机研究与发展》, vol. 56, no. 04, pages 810 - 824 *
邢宝平 等: "面向绿色数据中心的能耗有效查询优化技术", 《计算机研究与发展》, vol. 56, no. 09, pages 1821 - 1831 *
邱涛 等: "面向关系数据库的智能索引调优方法", 《软件学报》, vol. 31, no. 03, pages 634 - 647 *

Also Published As

Publication number Publication date
CN112650770B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
Marcus et al. Plan-structured deep neural network models for query performance prediction
Hilprecht et al. Deepdb: Learn from data, not from queries!
CN109240901B (zh) 性能分析方法、性能分析装置、存储介质和电子设备
US10445657B2 (en) General framework for cross-validation of machine learning algorithms using SQL on distributed systems
CN108804473B (zh) 数据查询的方法、装置和数据库系统
CN104834479A (zh) 面向云平台的自动优化存储系统配置的方法及系统
CN103577676A (zh) 污水处理工艺综合评价的灰色加权法
Anderson et al. The rankability of data
Chen et al. Leon: A new framework for ml-aided query optimization
Zhu et al. Developing cost models with qualitative variables for dynamic multidatabase environments
Zhou et al. Grep: A graph learning based database partitioning system
CN117390063A (zh) 一种基于Listwise排序学习的数据库查询器优化方法
CN116628136A (zh) 基于声明式推理的协同查询处理方法、系统、电子设备
CN112650770B (zh) 基于query workload分析的MySQL参数推荐方法
Dong et al. Heterogeneous graph neural architecture search with gpt-4
CN107423759B (zh) 低维逐次投影寻踪聚类模型综合评价方法、装置及应用
CN110502669A (zh) 基于n边dfs子图的轻量级无监督图表示学习方法及装置
Hou A new clustering validity index based on K-means algorithm
CN112667591A (zh) 一种基于海量日志的数据中心任务干扰预测方法
Casals et al. SPARQL query execution time prediction using Deep Learning
CN113204539B (zh) 一种融合系统语义的大数据系统参数自动优化方法
Njah et al. A new equilibrium criterion for learning the cardinality of latent variables
CN117520380B (zh) 数据库查询优化的计划执行方法、装置、设备及介质
Nikolaou et al. The impact of workload clustering on transaction routing
Peng et al. Performance analysis between different decision trees for uncertain data

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