一种预测数据库管理系统的性能的方法、装置及系统制造方法及图纸

技术编号:31455113 阅读:16 留言:0更新日期:2021-12-18 11:21
本申请公开了一种预测数据库管理系统(DBMS)的性能的方法,包括:确定查询语句的查询计划;根据查询语句和查询计划确定多个特征,采用自动化特征工程的方式,按照DBMS的性能指标,从多个特征确定至少一个特征集合,至少一个特征集合包括与第一性能指标相对应的第一特征集合,第一性能指标为描述数据库管理系统的性能指标中的任意一个;根据第一特征集合确定第一性能指标的预测结果。该方案可以提高第一性能指标的预测结果的准确度,即使DBMS包含复杂多变的业务场景下的数据,也可以准确预测出该DBMS的各性能指标的预测结果。预测出该DBMS的各性能指标的预测结果。预测出该DBMS的各性能指标的预测结果。

【技术实现步骤摘要】
一种预测数据库管理系统的性能的方法、装置及系统


[0001]本申请涉及数据库管理
,具体涉及一种预测数据库管理系统的性能的方法、装置及系统。

技术介绍

[0002]数据库管理系统(database management system,DBMS)针对查询语句的执行性能是数据库管理中一个十分重要的指标,它的优劣会直接影响到实际业务的发展和用户体验。
[0003]针对一个查询语句,DBMS可以生成多种执行计划,每种执行计划对DBMS的性能影响都不同。为了优化DBMS的查询能力,可以预先预测出DBMS执行查询语句时的性能,为该查询语句确定出一种最好的执行计划并配置给DBMS,这样DBMS就可以选择该最好的执行计划来执行该查询语句。
[0004]目前,预测执行查询语句时DBMS的性能的方案有基于规则的查询优化(rule-based optimization,RBO)方案和基于代价的查询优化(cost-based optimizer,CBO)方案等,无论是哪种预测方案都是基于统计信息和经验模型进行优化的,没有考虑实际复杂多变的业务场景,所以预测结果非常不准确。

技术实现思路

[0005]本申请实施例提供一种预测数据库管理系统的性能的方法,可以提高预测数据库管理系统(database management system,DBMS)的性能指标的准确度。本申请实施例还提供了相应的装置及系统。
[0006]本申请第一方面提供一种预测数据库管理系统的性能的方法,包括:确定查询语句的查询计划;根据查询语句和查询计划确定多个特征,并从多个特征确定至少一个特征集合,至少一个特征集合包括与第一性能指标相对应的第一特征集合,第一性能指标为描述数据库管理系统的性能指标中的任意一个;根据第一特征集合确定第一性能指标的预测结果。
[0007]上述第一方面中,查询语句会包含要实现一个或多个查询目的的意思表示,该查询语句可以是结构化查询语言(structured query language,SQL)语句。查询计划是DBMS为完成查询语句的查询而确定的一组步骤。查询语句和查询计划中都会包括多个特征,这些特征的类型可以不同,例如:多个特征中可以有查询语句类型的特征、谓词类型的特征,算子类型的特征以及结构类型的特征等。至少一个特征集合中的每个特征集合都会对应一个DBMS的性能指标,DBMS的性能指标可以是DBMS的查询时延、处理器的使用率、内存占用率以及查询语句的结果集的大小等。因为不同类型的特征对性能指标的影响可能不同,例如:查询时延、处理器的使用率、内存占用率与结构类型的特征或算子类型的密切相关,结果集大小则对查询语句类型的特征或谓词类型的特征比较敏感。因此,在通过查询语句和查询计划得到多个特征后,可以根据这些特征的类型以及与各性能指标的关系对特征进行重
组,得到与各个性能指标分别对应的特征集合,例如:第一特征集合与第一性能指标对应,第二特征集合与第二性能指标对应等。因为第一特征集合中所包含的特征是与第一性能指标相关的,不包含与第一性能指标无关的特征,因此不会对第一性能指标的预测结果造成额外的影响,所以该第一方面提供的方案可以提高第一性能指标的预测结果的准确度。而且,该第一方面提供的方案即使在复杂多变的业务场景下,都可以对各业务场景下的查询语句和查询计划进行特征提取,并根据性能指标与各类型特征的关系重组得到相应性能指标的特征集合,从而得到预测结果,即使业务场景再复杂多变,也可以准确预测出相应业务场景下该DBMS的性能指标。
[0008]在第一方面的一种可能的实现方式中,上述步骤:根据第一特征集合确定第一性能指标的预测结果,包括:将第一特征集合输入一个或多个第一预测模型,以得到第一性能指标的预测结果,一个或多个第一预测模型可以是采用机器学习(machine learning,ML)的方式,使用第一性能指标对应的样本特征集合进行模型训练得到的。
[0009]该种可能的实现方式中,可以通过预测模型来预测各性能指标的预测结果。一个性能指标可以对应一个或多个预测模型,该处的多个包括两个及两个以上。一个预测模型可以预测一种性能指标,也可以预测多种性能指标。无论是只能预测一种性能指标的预测模型,还是可以预测多种性能指标的预测模型,在模型训练时都采用与性能指标相对应的样本特征集合进行训练得到,该样本特征集合可以参阅上述第一方面中的至少一个特征集合进行理解,第一预测模型可以预测第一性能指标,也就是第一预测模型可以输出第一性能指标的预测结果。机器学习的方法可以有多种,如:有监督的机器学习、半监督的机器学习、无监督的机器学习、强化学习以及基于对抗网络的机器学习等。该种通过预测模型得到预测结果的方式有利于快速得到预测结果。
[0010]在第一方面的一种可能的实现方式中,若第一预测模型有多个,上述步骤:将第一特征集合输入一个或多个第一预测模型,以得到第一性能指标的预测结果,包括:将第一特征集合分别输入到多个第一预测模型中的每个第一预测模型,以得到多个预测结果;根据多个预测结果确定第一性能指标的预测结果。
[0011]该种可能的实现方式中,第一预测模型有多个,那么每个第一预测模型都会输出一个预测结果,可以对这多个预测结果进行融合,得到一个融合后的该第一性能指标的预测结果。结果融合的策略可以包括投票(voting)、平均值(averaging)或者排名(ranking)等。该种针对同一性能指标,使用多个预测结果进行融合再得到最终预测结果的方式有利于提高预测结果的准确度。
[0012]在第一方面的一种可能的实现方式中,该方法还包括:根据多个预测结果确定第一性能指标的预测结果的置信度,置信度用于指示第一性能指标的预测结果的可信程度。
[0013]该种可能的实现方式中,置信度是变异系数的(coefficient of variation)的倒数,变异系数等于多个预测结果的方差再除以平均值,例如:用P1来表示预测结果1,P2来表示预测结果2,P3来表示预测结果3,用AVE来表示平均值,用S来表示方差,用C来表示变异系数,那么方差S=[(P1-AVE)2+(P2-AVE)2+(P3-AVE)2]/3,其中,AVE=(P1+P2+P3)/3,变异系数C=S/AVE,置信度=AVE/S。置信度越大,说明该融合后的第一性能指标的预测结果越可信,或者说,变异系数越小,该融合后的第一性能指标的预测结果越可信。反之,置信度越小,说明该融合后的第一性能指标的预测结果越不可信,或者说,变异系数越大,该融合后
的第一性能指标的预测结果越不可信。该种确定置信度的方案有利于为后续策略选择做出指导。
[0014]在第一方面的一种可能的实现方式中,该方法还包括:根据第一性能指标的预测结果的置信度,确定第一性能指标的优化策略。
[0015]该种可能的实现方式中,优化策略可以有多种,有激进类型的优化策略,如:一旦确定第一性能指标的预测结果,就按照该预测结果立即调整DBMS参数。也有保守类型的优化策略,在得到第一性能指标的预测结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种预测数据库管理系统的性能的方法,其特征在于,包括:确定查询语句的查询计划;根据所述查询语句和所述查询计划确定多个特征,并从所述多个特征确定至少一个特征集合,所述至少一个特征集合包括与第一性能指标相对应的第一特征集合,所述第一性能指标为描述所述数据库管理系统的多个性能指标中的任意一个;根据所述第一特征集合确定所述第一性能指标的预测结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一特征集合确定所述第一性能指标的预测结果,包括:将所述第一特征集合输入一个或多个第一预测模型,以得到所述第一性能指标的预测结果,所述一个或多个第一预测模型是使用所述第一性能指标对应的样本特征集合进行模型训练得到的。3.根据权利要求2所述的方法,其特征在于,所述第一预测模型有多个,所述将所述第一特征集合输入一个或多个第一预测模型,以得到所述第一性能指标的预测结果,包括:将所述第一特征集合分别输入到所述多个第一预测模型中的每个第一预测模型,以得到多个预测结果;根据所述多个预测结果确定所述第一性能指标的预测结果。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据所述多个预测结果确定所述第一性能指标的预测结果的置信度,所述置信度用于指示所述第一性能指标的预测结果的可信程度。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据所述第一性能指标的预测结果的置信度,确定所述第一性能指标的优化策略。6.根据权利要求1-5任一项所述的方法,其特征在于,所述从所述多个特征确定至少一个特征集合,包括:从所述多个特征中确定与所述数据库管理系统的各性能指标相对应的特征,以得到所述至少一个特征集合,其中,每个特征集合通过标签或映射的方式与一个性能指标相对应。7.根据权利要求1-5任一项所述的方法,其特征在于,所述从所述多个特征确定至少一个特征集合,包括:从所述多个特征中确定至少一个结构特征和至少一个特征向量,其中,所述结构特征指示所述查询语句或所述查询计划的结构,所述特征向量是对所述查询计划或所述查询语句编码后得到的向量;从所述至少一个结构特征和所述至少一个特征向量中,确定与所述第一性能指标对应的目标结构特征和目标特征向量;根据所述目标结构特征确定与所述第一性能指标对应的数据编码结构,所述数据编码结构上包括至少一个向量节点;将所述目标特征向量特征添加到所述至少一个向量节点上,以得到所述第一特征集合。8.根据权利要求1-7任一项所述的方法,其特征在于,所述至少一个特征集合还包括第二特征集合,所述第二特征集合与第二性能指标相对应,所述第二特征集合用于确定所述第二性能指标的预测结果。
9.根据权利要求2-5任一项所述的方法,其特征在于,所述方法还包括:根据与所述第一性能指标相对应的有效性能特征集合更新所述一个或多个第一预测模型,所述有效性能特征集合包括可靠程度满足预设条件的至少一个有效性能特征。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:获取与所述第一性能指标对应的多个历史性能特征,其中,每个历史性能特征包含该历史性能特征产生的时间戳;针对每个历史性能特征,获取从所述时间戳所指示的时刻到所述至少一个第一预测模型的更新时刻所发生的关键性能事件;根据所述关键性能事件的数量,从所述多个历史性能特征中确定所述有效性能特征,所述关键性能事件越多的历史性能特征的可靠程度越低。11.一种预测模型训练的方法,其特征在于,包括:获取多对历史查询语句和历史查询计划;根据每对历史查询语句和历史查询计划确定一个包含多个特征的样本集合,并从每个样本集合确定至少一个特征集合,所述至少一个特征集合包括与第一性能指标相对应的第一特征集合,所述第一性能指标为描述所述数据库管理系统的多个性能指标中的任意一个;使用从所述多个样本集合中确定出的多个第一特征集合对与所述第一性能指标对应的预测模型进行训练,以得到第一预测模型。12.根据权利要求11所述的方法,其特征在于,所述至少一个特征集合还包括第二特征集合,所述第二特征集合与第二性能指标相对应,所述第二性能指标对应的预测模型与所述第一预测模型的结构相同,所述方法还包括:在所述第一预测模型的基础上,初始化所述第二性能指标对应的预测模型;使用从所述多个样本集合中确定出的多个第二特征集合,对初始化的与所述第二性能指标对应的预测模型进行训练,以得到第二预测模型,所述第二预测模型用于预测所述第二性能指标的预测结果。13.根据权利要求11或12所述的方法,其特征在于,所述从每个样本集合确定至少一个特征集合,包括:从所述每个样本集合的多个特征中与所述数据库管理系统的各性能指标相对应的特征,以得到所述至少一个特征集合,其中,每个特征集合与一个性能指标通过标签或映射的方式相对应。14.根据权利要求11或12所述的方法,其特征在于,所述从每个样本集合确定至少一个特征集合,包括:从所述每个样本集合的多个特征中确定至少一个结构特征和至少一个特征向量,其中,所述结构特征用于指示所述历史查询语句或所述历史查询计划的结构,所述特征向量是对所述查询计划或所述查询语句编码后得到的向量;从所述至少一个结构特征和所述至少一个特征向量中,确定与所述第一性能指标对应的目标结构特征和目标特征向量;根据所述目标结构特征确定与所述第一性能指标对应的数据编码结构,所述数据编码结构上包括至少一个向量节点;
将所述目标特征向量添加到所述至少一个向量节点上,以得到所述第一特征集合。15.根据权利要求11-14任一项所述的方法,其特征在于,所述根据每对历史查询语句和历史查询计划确定一个包含多个特征的样本集合,包括:从每对历史...

【专利技术属性】
技术研发人员:岳行之杨迪宋清怡
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1