论文部分内容阅读
随着信息技术的发展,数据库中数据存储规模越来越大,呈现出数据量大、数据类型多、价值密度低的特点。在这个背景下,数据库的查询操作从传统的单一维度简单查询扩展为多维度的复杂查询。复杂查询作为数据库系统分析数据的重要手段,在实际分析处理数据过程中扮演着重要角色。通过查询请求,企业决策人员能快速获得自己最关注的信息。利用传统的数据库分析手段对海量数据进行提取、存储、分析得到实时结果变得越来越困难,也制约了企业管理者的决策。为了提高大规模数据下多维复杂查询的速度,本文结合了图形处理器并行计算能力和列存储数据库的存储特点,提出了适用于并行查询的列式存储模型以及GPU并行加速查询的策略。本文的主要研究内容如下:(1)研究数据库复杂查询的相关理论和GPU并行计算模型,并总结出传统数据库查询优化技术。重点分析了不同数据库的存储策略和压缩算法;(2)提出一种基于稀疏索引的物理存储模型,模型在列存储的基础上采用分段划分的策略,同时根据GPU特点采用差值压缩算法进行数据压缩处理,并结合GPU高并行计算能力实现对数据的并行压缩;(3)提出一种基于GPU的复杂查询并行执行算法:结合GPU查询原语操作实现对复杂查询的优化。其中重点实现了对范围查询和分组查询的优化,提出了对分组查询结果合并的策略。提出利用流水线调度策略解决实验中存在IO时间过长的问题,一定程度上加快了查询响应的速度;(4)通过实验证明了利用GPU加速压缩算法和查询加速算法的优越性:将本文提出的查询模型和传统数据库采用美国交易处理效能委员会提出TPC-H测试数据集进行对比分析,证明了本文查询模型在大规模数据集下相比于现有GPU数据库取得5-8倍的加速比。