[发明专利]一种基于分组的全局多查询优化方法有效
申请号: | 201710242819.2 | 申请日: | 2017-04-14 |
公开(公告)号: | CN107133281B | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 吴勇;陈岭;林言;钟宏泽 | 申请(专利权)人: | 浙江鸿程计算机系统有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2452 |
代理公司: | 杭州之江专利事务所(普通合伙) 33216 | 代理人: | 张慧英 |
地址: | 310053 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分组 全局 查询 优化 方法 | ||
本发明涉及一种基于分组的全局多查询优化方法,具体实施如下:1)为输入系统的查询语句建立签名;2)根据签名对查询语句进行分组;3)通过对每一分组内的查询计划进行代价估算来进行计划选择;4)将每一分组选择的计划进行合并,最终得到多个全局计划。本发明通过建立查询签名,结合分组思想,确保在最短时间内得到较优全局计划,以此提高多查询优化效率。在大数据背景下的数据统计、数据挖掘、报表生成和联机查询等领域具有广阔的应用前景。
技术领域
本发明涉及数据库多查询优化技术领域,尤其涉及一种基于分组的全局多查询优化方法。
背景技术
数据库查询优化(Query Optimization)已经有很久的历史,从几十年前的单机数据库到现在的分布式大数据平台,衍生出了许多查询优化技术。早期的查询优化主要针对单条查询。查询优化器将从所有可能的查询计划中选择一个最有效的方式来执行给定查询。随着使用场景的丰富,各类应用需求的变化,系统需要应付的高并发查询场景急剧增加。面对场景中可能出现的大量相似性查询,系统只能逐一处理,无法通过利用查询间可共享的部分来加速整个过程。这些查询可能出现在同一批输入的查询中,也可能出现在包含相似嵌套子查询的查询语句中。因此,为了适应现代查询场景越来越高的需求,向用户提供更为快速、准确、全面的查询服务,多查询优化(Multi-Query Optimization)成为这类场景下加速查询处理的重要方法之一。
多查询优化算法是以最大化重用相似查询计划间的可共享部分和快速求解为目标,通过特定的搜索策略来确定某一种查询共享组合的过程。可以按照处理模型分为两类:基于局部优化处理模型的多查询优化和基于全局优化处理模型的多查询优化。基于局部处理模型的多查询优化分两个阶段进行。第一阶段充分利用本地查询优化器,为每条查询生成各自的最优执行计划。第二阶段通过对各查询执行计划的合并来构建全局计划。这类方法生成的查询计划数量少,只能通过本地查询优化器得到每个查询的最优执行计划。同时,由于生成查询计划的过程中未知其他查询的可共享部分,无法通过控制本地查询优化器的处理过程来生成可共享的计划。全局优化处理模型的输入是未经优化的查询语句集合,通过全局查询优化器,在所有可能的搜索空间内进行选择,根据一定的搜索策略进行代价估算,直接生成全局执行计划。通过将整个多查询优化处理包含在同一个过程中,此类方法能获得丰富的查询计划组合,更可能构建最优全局计划。
近些年,随着大数据时代的带来,高并发查询场景的急剧增加,分布式SQL查询系统需要在短时间内处理大量查询。如果能充分利用多查询优化技术,快速高效地利用查询间可共享部分,就能大幅提升系统吞吐量。但是传统多查询优化只适用于强相似性多查询输入的场景,无法应对查询间相似性不确定的情况。因此,如何在这类场景中高效利用多查询优化技术成为亟待解决的问题。
发明内容
本发明为克服上述的不足之处,目的在于提供一种基于分组的全局多查询优化方法,本发明方法对传统多查询优化方法的改进,结合签名方法和分组策略来进行多查询优化,本发明方法首先通过对查询语句进行签名计算,得到每一个查询的精简化表示;其次,对集合中互相之间无法共享任务的查询进行划分,建立查询组;最后,通过采用基于启发式算法的多查询优化算法,为每一组进行计划选择,并将选择的计划进行合并得到多个全局计划。本发明通过在多查询建模时计算查询签名,充分抽象查询语句中的关键信息;同时,结合分组思想,快速判别查询间的可共享性,加速后续的计划选择过程。
本发明是通过以下技术方案达到上述目的:一种基于分组的全局多查询优化方法,包括多查询建模阶段和多查询优化阶段,如下所示:
1)多查询建模阶段:对查询语句进行签名计算,得到每一个查询的精简化表示,记为签名;具体步骤如下:
1.1)对给定的n条查询语句Q={q1,q2,...,qn}进行解析,采用JFlex进行词法解析得到词法解析结果,采用CUP对词法解析结果进行语法解析;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江鸿程计算机系统有限公司,未经浙江鸿程计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710242819.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:反馈的响应方法及装置
- 下一篇:一种改进的基于双向传播的评价对象识别方法