关键词:
列存储
查询重写
优化策略
重写规则
左深连接树
摘要:
随着数据仓库广泛应用带来的良好影响,数据仓库技术得到了迅猛的发展。数据仓库中最常用、最重要的查询语句的执行效率直接影响了数据仓库的性能,在查询处理中将查询语句重写成另一种高效的内部表示,帮助查询优化器获得更好的执行计划一直是学术界研究的热点。对于数据仓库是面向分析型、以读操作为主的特点,大量的文献和实践证明在列存储体系中,仅需读取查询所需要的列数据,避免了将其他不相关的列的数据同时读入内存的情况,这样列存储就有很大的性能优势。这也使得在列存储背景下探索适宜的查询重写技术成为一种必然。
首先,论文详细阐述了本课题的研究背景和相关技术的研究现状,突出了在列存储背景下对查询重写进行深入研究的必要性。
然后,论文对本课题相关的重要知识点做了必要介绍,其中包括数据仓库、列存储的优势、列存储数据仓库系统DWMS、查询处理、传统的优化策略等等。
其次,论文深入分析了列存储系统的特性,基于在查询重写中与行存储的本质不同,提出了列存储特有的基本优化策略和重写规则,并分别在group by聚集操作、子查询、索引连接方面进行了深入的讨论分析,提出了合适的解决方法,进一步充实了列存储中查询重写的关键技术。
接着,论文对DWMS系统实现过程中涉及到的基本数据结构作了介绍,将基于规则优化的查询重写模块分为重写普通where查询树、重写含group by的查询树、重写有子查询的查询树三部分实现,并分别详细讨论了一些重要实现方法。
最后,论文以列存储数据仓库管理系统DWMS3.0为平台,采用SSB数据集,进行实验论证,结果表明:本文提出的提出优化策略、重写规则、双层左深树结构能有效减少候选计划的规模,排除大量不可能生成最优计划的计划,使得查询处理代价和执行时间大大减小。