【技术实现步骤摘要】
本专利技术涉及大数据查询优化领域,尤其涉及一种基于谓词规约和代价估算的局部多查询优化方法。
技术介绍
早期查询优化和调度等问题的研究主要针对单查询,但随着并发量的提升,以及数据查询系统的不断改进,查询并发处理已经成为现代数据查询系统必不可少的功能。当并发查询由相关(涉及相同或相近操作)的查询构成时,传统的单查询优化方法并不考虑查询之间的相关性,从而限制了系统查询性能的提升。多查询优化是当系统同时输入多个查询时,通过对该批查询进行分析,将其中涉及相同或相近操作的部分进行合并,生成全局多查询计划。通过该多查询计划的执行来同时完成多个查询,提高查询效率。多查询优化方法可以分为两类:一类是全局多查询优化方法,其输入为未经优化的查询集合,此类方法的优点是生成的候选执行计划数量大,输出的结果往往较优,缺点是优化搜索开销高,同时由于无法利用数据查询系统的优化器,因而实现难度较高;另一类是局部多查询优化方法,其输入为数据查询系统优化器输出的查询集合,此类方法的优点是搜索空间较小,同时较易实现。由于局部多查询优化方法往往不考虑重用中间结果带来的开销,因而在实际执行中可能导致重用中间结果的开销高于直接执行的开销,反而降低了系统查询性能。现有多查询优化方法在利用代价函数估算查询计划开销时,仅仅考虑了I/O开销,即查询处理所涉及的磁盘页面数,而忽视了CPU计算开销和网络传输开销。然而,当底层采用分布式计算架构(如大部分的大数据查询系统)并且存在连接操作时,CPU计算和网络传输的开销不可忽略。此时原有的代价模型显然无法准确地估计查询的开销。
技术实现思路
针对以上描述的现有技术的不足 ...
【技术保护点】
一种基于谓词规约和代价估算的局部多查询优化方法,其特征在于:分为预处理、局部多查询优化处理和多查询计划优化三个阶段,具体步骤如下:(1)预处理阶段:步骤(1‑1),利用数据查询系统已有的查询优化器,对查询集合中的每条查询进行优化,分别找到最优的查询计划,并以查询计划树的形式表示,得到查询计划树集合;步骤(1‑2),重新定义查询计划树中的节点编号;步骤(1‑3),定义节点映射关系map<Node key,Node value>M,并将M初始化为空,map为数据类型,M为变量名称;步骤(1‑4),将所有的查询计划树中的节点添加至全局多查询计划树中,并在全局多查询计划树中添加“超根节点”;(2)局部多查询优化处理阶段:步骤(2‑1),遍历查询全局多查询计划树中的节点集合V={v1,v2,...,vn},若集合V中存在与当前节点等价的节点,选择节点集合V中等价查询节点中编号最小的节点vj*,进行合并操作,用vj*代替所有vi∈V‑{vj*};步骤(2‑2),对于每个节点vi,找到符合“最强归约条件”的子任务taskj*,在M中添加vj*到vi的映射,通过有向线段连接vj*→vi,并 ...
【技术特征摘要】
1.一种基于谓词规约和代价估算的局部多查询优化方法,其特征在于:分为预处理、局部多查询优化处理和多查询计划优化三个阶段,具体步骤如下:(1)预处理阶段:步骤(1-1),利用数据查询系统已有的查询优化器,对查询集合中的每条查询进行优化,分别找到最优的查询计划,并以查询计划树的形式表示,得到查询计划树集合;步骤(1-2),重新定义查询计划树中的节点编号;步骤...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。