Kingbase ES数据库系统子查询和GroupBy操作优化技术研究

来源 :中国人民大学 | 被引量 : 0次 | 上传用户:fircold
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
子查询及分组和聚集操作是SQL语言中的重要特性,有着非常广泛的应用。随着决策支持系统、数据仓库、OLAP系统越来越普及,这两种操作的应用也变得越来越广泛。因此,如何高效的处理这两类操作成为了一个重要的问题。  早期的关系数据库管理系统,均采用了一种最容易理解和实现的方式处理子查询和分组及聚集操作:(1)传统优化器采用嵌套执行的方式处理子查询,即在处理父查询的过程中,对每一条元组,都执行一次子查询;(2)对分组和聚集操作,传统优化器按照SQL标准中规定的语义,首先执行所有的连接和选择操作,最后,对连接和选择操作的结果,进行分组和聚集操作。  上述处理方式虽然易于实现,但执行效率可能会非常低,或者至少不是最优的。这是因为:(1)对子查询,嵌套执行方式相当于进行嵌套循环连接,很显然,这个连接操作的的连接顺序和连接方法都是确定的。我们知道,不同的连接顺序或连接方法可能导致连接的效率相差数个数量级。因而,如果该子查询能够被转化成某种连接操作,通过对该连接选择不同的顺序和方法,很可能会大大提高查询效率;(2)对分组和聚集操作,由于分组可能大大减小原关系的大小,若在进行连接操作之前,首先对连接操作的操作关系进行分组和聚集,该连接操作的效率就有可能得到很大提高。但是需要注意的是,分组操作本身也是有开销的,因此,这种处理方式在降低了连接操作的开销的同时,也增加了新的开销。然而不论如何,这种方法都提供了一种提高查询效率的可能。  鉴于此,人们针对子查询和分组聚集操作的查询优化做了大量的研究工作。尽管如此,许多现有的数据库管理系统对这两类查询的执行依然采用的是传统的执行方法。这是因为,一方面查询的结构非常复杂;另一方面,很难找到合适的代数转换规则,能够有效的处理所有的情况;再者,即便找到了合适的规则,由于这些规则都不能保证重写一定可以提高查询效率,因此,要将这些规则集成导已有的查询优化器中也必须进行许多取舍。本文的研究目标是针对上述问题,提出一种在已有的系统中集成这类规则的实现方案。  本文的研究内容是针对Kingbase ES数据库系统,通过分析KingbaseES查询优化器的体系结构及其对子查询和分组及聚集操作的处理方法,提出基于Kingbase ES系统的子查询消除以及分组和聚集操作与连接操作的位置交换问题。  对子查询的消除问题,我们首先将子查询按照复杂程度分为三类:SPJ子查询(由选择、连接、投影操作组成的查询)、GroupBy子查询(由选择、连接、投影、分组、聚集操作组成的查询)和Top-N子查询(GroupBy子查询中再加上Top-N操作)。然后,通过分析已有的子查询消除方法(如[KIM82],[Day87],[SPL96],[CM01]等),我们对SPJ子查询和GroupBy子查询,按照Kingbase ES中的分类方法,分别给出并证明了通过连接、左外连接、半连接以及反半连接操作来消除子查询的方法。最后,我们给出了将这些方法集成到Kingbase ES中的实现算法。注意,由于Top-N操作并不属于基本的关系代数操作,这类子查询很难被消除,因此,我们不分析这种情况,实际上,这类子查询在应用中也是比较少见的。  对分组和聚集操作与连接操作的位置交换问题,我们首先分析了已有的方法,并采用[CS94]中的转换规则来进行代数变换。前面已经提到这种转换不能保证查询效率一定得到提高,因此,我们采用基于代价的方式来将其集成到Kingbase ES的查询优化其中。  本文的主要贡献和创新如下:  分析了已有的子查询消除和GroupBy操作下移/上移算法,对这些算法进行了扩展和削减,提出了基于Kingbase ES查询优化器的相应算法;分析并证明了Kingbase ES中已有的对这两类操作的处理方法的正确性,将新的算法与原算法合并,并在Kingbase ES系统中实现了这些算法。  对(θ)半连接/(θ)反半连接操作符进行了深入分析,并证明了这两种操作满足的代数转换规则;利用这些转换规则,提出并证明实现了涉及到ANY、ALL、EXISTS这类返回结果为一个集合的子查询的消除方法;在Kingbase ES数据库的执行引擎中实现了这两种操作。
其他文献
给定一张查询图和一张数据图,在数据图中查找与查询图同构的所有子图的算法称之为子图枚举算法。子图枚举算法是图分析基础算法之一,在生物化学、生态学和社交网络分析等领域
RIP协议是目前在互联网中广泛使用的基于VD算法的内部网关协议。OSPF协议是近几年兴起的一种基于LS算法的内部网关协议。作为动态路由协议,RIP协议和OSPF协议都能够维护路由表
随着软件开发技术的提高,软件工程的推广深入,软件测试日益得到重视和专业化。测试的改进会对整个软件开发工作的质量、成本和周期带来非常显著的效果。   为了少投入多产出
学位
随着视频信号处理器的发展,音视频处理技术得到了长足的进步。社会对音视频通信的需求不断提升,人们对可视通信的需求及视频会议等专有领域的应用给可视通信带来了很好的发展
宽带无线接入技术和移动终端技术的飞速发展使世界进入移动互联网时代,Android、IOS、WindowPhone三大操作系统应运而生。其中,安卓(Android)系统平台以其开源性占据主导地位
无线通讯和定位技术的飞速发展,使得移动数据管理方面的应用越来越广泛。在本文中,关注真实生活中那些运动在受限网络环境下移动对象,比如交通网络下的车辆,提出了一种称为ANR-tr
Athena方法是安全协议分析领域中的一种新的形式化分析方法。本文首先对其进行了深入分析,然后针对安全协议形式化分析领域中的两个重要问题——类型缺陷攻击问题、组合协议
本文从本体开发和本体应用两个方面对本体研究进行了分析和综述.本体开发研究主要包括本体方法论、本体开发工具、本体描述语言、本体映射、本体合并、本体进化、本体学习等;
灌浆监测系统对于灌浆施工的质量保证具有重要意义,而传统监测系统的实现方式一般只是对单孔进行监测,不利于大规模的灌浆施工,而且不利于对灌浆现场的监理。同时由于信息形
从曲面的三维采样点集恢复出曲面的几何模型称之为曲面重建。曲面重建是许多研究领域如逆向工程,医学图像可视化中的重要问题,因此,曲面重建问题被广泛地研究,产生了许多曲面