一种并行查询执行计划选择方法及系统与流程

文档序号:37940472发布日期:2024-05-11 00:19阅读:20来源:国知局
一种并行查询执行计划选择方法及系统与流程

本发明属于数据库,尤其涉及一种并行查询执行计划选择方法及系统。


背景技术:

1、在postgresql数据库中,经过查询分析模块得到查询树链表,由查询规划负责将查询树链表转变为执行计划链表。查询规划模块直接决定了查询的方式和路径,一定程度上决定了数据库查询性能。

2、postgresql使用动态规划或者遗传算法由查询树生成最优连接路径,并且同时也给出了候选的路径链表。接下来将通过最优路径生成基本执行计划树,再向其中添加groupby等子句所对应的计划节点形成一棵完整的计划树。对于单个的查询计划,数据库查询优化器能够准确的为其寻找到合适的执行计划,但是对于并行查询场景,查询优化器不能准确的考虑到查询之间的交互进而选择执行计划。

3、随着深度学习的蓬勃发展,有学者使用神经网络优化并行查询的执行计划选择方法,有学者使用长短时记忆网络与全连接层的神经网络组合,抽取操作类型、查询涉及的关系以及查询涉及到的字段等作为查询计划的特征,将不同查询计划的特征拼接得到查询组合的特征输入到网络中,同时提出了一种计算方式用来衡量交互查询对查询计划的影响,来为目标的查询根据系统状态动态的准确选择执行计划。通过上述方式选择的执行计划,相较于postgresql的查询优化器所选择的准确率提高了将近40%。但是,使用长短时记忆网络无法表示各个操作之间的关系,所以无法以操作粒度来表示查询交互,影响了执行计划选择准确率。

4、综上所述,我们提出一种并行查询执行计划选择方法及系统。


技术实现思路

1、鉴于以上现有技术的不足,发明的目的在于提供一种并行查询执行计划选择方法及系统,将执行计划树中的操作视为图节点,选取操作的相关特征作为执行计划特征,同样针对不同的边进行不同种类的特征信息提取,将平均执行时间、i/o时间与缓冲区命中个数等作为模型的输出,训练多通道关系图神经网络度量查询交互。然后使用lstm选择执行计划,将执行计划特征与由变化量得到的特征拼接作为lstm的输入,将目标函数作为衡量标准得到的最优执行计划作为输出进行模型的训练。通过上述方式,考虑到并行查询之间的交互,为新加入的数据库查询选择在并行时的较优执行计划。

2、本发明的第一方面,提出了一种并行查询执行计划选择方法,其特征在于,包括:

3、s1,设计目标函数:确定神经网络的目标函数,查询等待资源的时间和查询实际执行的时间构成了查询的平均响应时间,通过平均响应时间的变化确定查询交互的结果,为新加入的查询计划选择最优执行计划;

4、s2,根据执行计划树构建图;

5、s3,提取执行计划特征,通过对于执行计划的分析,选择操作类型,操作涉及的表以及操作涉及的列和操作返回的结果行做为输入特征;

6、s4,多通道关系图卷积神经网络模型:通过多通道关系型图卷积神经网络度量并行查询模型交互,得到查询交互矩阵;

7、s5,查询组合的交互特征矩阵;

8、s6,执行计划选择,使用lstm+fcn的模型组合进行执行计划选择。

9、进一步的,s1中为新加入的查询计划选择最优执行计划即可转为加入查询计划使得查询组合整体的平均响应时间变化最小即:

10、

11、其中,新加入的数据库查询qj分别以第k种执行计划执行时,和分别表示qj和qi在查询组合g中的响应时间与单独执行的响应时间比值。

12、进一步的,s2详细步骤如下:执行计划树由操作节点所构成,后续遍历执行计划树可以得到执行计划树的操作集合,使用该操作集合构建图,操作作为图的节点,操作之间的父子关系、资源共享关系与资源竞争关系做为边。

13、进一步的,s4中详细步骤如下:

14、首先使用特征矩阵进行一次全局的关系图卷积神经网络提取;然后;,使用两通道的关系图卷积神经网络进行上述两种特征信息的再次提取,最后得到查询交互矩阵。

15、进一步的,s5详细步骤如下:

16、用执行计划qm在组合查询g种的平均响应时间与执行计划的比值来反映qm所受到组合中其余查询的影响。

17、根据权利要求5所述的一种并行查询执行计划选择方法,其特征在于,s5中同时将平均执行时间、平均缓冲区命中个数与平均i/o时间做为交互衡量标准加入到fqi矩阵中。

18、进一步的,s6中模型的输入是由fep矩阵与fqi矩阵拼接得来,模型的输入是一个一维向量,向量的长度与新加入的查询备选执行计划数量相同。

19、进一步的,s6中在训练阶段,将较优的执行计划对应位置置为1,其余位置均为0做为模型的输出进行模型训练。

20、本发明的第二方面,提出了一种并行查询执行计划选择系统,所述系统包括:

21、交互度量模块:用于计算交互查询时参数变化的预测值;

22、执行计划选择模块:利用交互度量模块得到的参数变化量与执行计划特征进行拼接得到的特征,训练长短时记忆网络,为并行查询下新加入的数据库查询选择较优的执行计划。

23、进一步的,所述交互度量模块使用多通道关系图神经网络完成执行计划特征到查询交互特征的映射,采用“黑盒”模式充分的提取查询交互特征,使用训练好的的查询交互模块。

24、本发明有益效果如下:

25、本发明使用关系图神经网络来度量查询之间的交互,得到每个执行计划所对应的执行计划树,遍历计划树得到计划树中的操作节点,将操作视为图中的节点。本发明从操作节点粒度来度量交互查询,为了表示节点之间的关系,本文考虑了同一查询操作之间的父子关系,访问同一张表或者索引的数据共享关系,以及对于i/o等资源的竞争关系,将这三种关系做为图的边。同时,为了跟全面的提取不同的边对应的不同特征信息,以及包含的通用特征信息,设计了多通道的关系图卷积神经网络模型,采用此种方式完成的图嵌入,不仅从操作粒度度量查询交互,而且还能表示操作之间的关系,为准确的度量查询交互以及选择执行计划奠定了基础。

26、选取节点操作类型、涉及到的表、涉及到的字段与结果行的平均宽度来构建输入的特征,使用执行计划单独执行响应时间与计划在查询组合中的响应时间比值、平均i/o时间、平均缓冲区命中个数以及平均执行时间做为度量交互模型的输出。多通道关系图卷积神经网络模型,考虑到了关系之间不同的以及相同的特征信息,采用“黑盒”模型使得用户在不需要关注复杂的交互情况下,准确的得到查询交互的预测值。并且,图神经网络做为半监督类型的网络模型,并不需要大量标注数据即能进行训练,这也是本专利选择关系图神经网络做为交互度量模型的原因之一。

27、使用长短时记忆网络与全连接层组成的执行计划选取网络,利用上一步抽取到的执行计划特征和使用关系图卷积神经网络得到的交互特征矩阵拼接成输入矩阵。这样直接将两个特征矩阵拼接的方式能够简洁的得到所需的特征,使用长短时记忆网络做为模型的一部分能够避免梯度消失,帮助选择较优的数据库执行计划。



技术特征:

1.一种并行查询执行计划选择方法,其特征在于,包括:

2.根据权利要求1所述的一种并行查询执行计划选择方法,其特征在于,s1中为新加入的查询计划选择最优执行计划即可转为加入查询计划使得查询组合整体的平均响应时间变化最小即:

3.根据权利要求2所述的一种并行查询执行计划选择方法,其特征在于,s2详细步骤如下:执行计划树由操作节点所构成,后续遍历执行计划树可以得到执行计划树的操作集合,使用该操作集合构建图,操作作为图的节点,操作之间的父子关系、资源共享关系与资源竞争关系做为边。

4.根据权利要求3所述的一种并行查询执行计划选择方法,其特征在于,s4中详细步骤如下:

5.根据权利要求4所述的一种并行查询执行计划选择方法,其特征在于,s5详细步骤如下:

6.根据权利要求5所述的一种并行查询执行计划选择方法,其特征在于,s5中同时将平均执行时间、平均缓冲区命中个数与平均i/o时间做为交互衡量标准加入到fqi矩阵中。

7.根据权利要求6所述的一种并行查询执行计划选择方法,其特征在于,s6中模型的输入是由fep矩阵与fqi矩阵拼接得来,模型的输入是一个一维向量,向量的长度与新加入的查询备选执行计划数量相同。

8.根据权利要求7所述的一种并行查询执行计划选择方法,其特征在于,s6中在训练阶段,将较优的执行计划对应位置置为1,其余位置均为0做为模型的输出进行模型训练。

9.一种并行查询执行计划选择系统,其特征在于,用于实现权利要求1至8任一项所述的并行查询执行计划选择方法,所述系统包括:

10.根据权利要求9所述的装置,其特征在于,所述交互度量模块使用多通道关系图神经网络完成执行计划特征到查询交互特征的映射,采用“黑盒”模式充分的提取查询交互特征,使用训练好的的查询交互模块。


技术总结
本发明涉及一种并行查询执行计划选择方法及系统,属于数据库技术领域,该方法包括:S1,设计目标函数:确定神经网络的目标函数,查询等待资源的时间和查询实际执行的时间构成了查询的平均响应时间,通过平均响应时间的变化确定查询交互的结果,为新加入的查询计划选择最优执行计划;S2,根据执行计划树构建图;S3,提取执行计划特征,通过对于执行计划的分析,选择操作类型等内容。本发明所述的方法和装置,考虑到在并行查询时例如缓冲区共享的查询交互情况,为新加入到查询组合中的数据库查询选择较优的执行计划。使用PostgreSQL时,使用这种方法能够避免使用配置文件参数静态的选择执行计划。

技术研发人员:曹鹏飞
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/5/10
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1