论文部分内容阅读
数据库管理系统作为一类主要的基础软件,由于它的安全特性、统一标准、高性能以及高可用性等优势,在信息技术所涉及的诸多领域都发挥着极其重要的作用。在很多应用中,对数据库的查询性能要求很高,为了满足这些高性能需求,一个有效途径就是为数据库管理系统增加并行处理的功能。将数据处理过程并行化,充分利用近些年迅速发展起来的并行硬件资源,能够达到提升处理速度的目的。 在国外几个主要的大型商用数据库中,都已经实现了并行查询的功能。然而,国内数据库产品起步较晚,并行数据库产品和国外相比也有很大差距。神通数据库是由天津神舟通用数据技术有限公司自主研发的。它实现了简单有效的静态并行机制,查询的并行化由数据表的静态分区特性决定,并行查询计划以及处理器的分配均由优化器一次性完成,执行器直接根据并行计划对处理器进行调度,以实现磁盘IO和计算的并行化,然而这种并行查询过分依赖于物理表的分区特性,且查询任务的并行化往往并不彻底。本文的目的则在于:对神通数据库现有的并行机制进行改进,使其支持中间结果的动态分区以及相应的多处理器调度,更充分的利用系统资源,从而获得更高的查询效率。为实现这个目标,本文主要做了以下几方面的工作: 首先分析并论述了课题的来源以及意义,从并行查询相关的数据分区以及查询优化,对国内外主要数据库产品做了调研,并对神通数据库的现有并行查询功能做了深入的调研。在此基础之上,确定了本课题的主要研究内容。确定了基于神通数据库系统的并行查询系统的整体框架及其实现架构。设计并行查询的执行器以及优化器的整体框架和实现流程。 对关系数据库的分区技术进行了简要的介绍,并分析了各种分区策略对实现并行查询的重要意义。然后结合本课题所确定的并行查询体系架构,确定了本课题所采用的分区策略。分析了几个主要的物理算子实现原理,并在此基础上设计了各自的并行化方案。 从提高资源利用率的角度出发,提出了本文基于神通数据库并行架构中采用的两种关键技术:分段并行技术以及分层并行技术。分别从IO瓶颈和内存瓶颈两个方面,分析并设计了分段并行与分层并行各自的实现方案,并结合其性能特性,设计了并行查询优化器中的任务树结构模型,并根据该代价模型给出几种启发式策略以及顺序优化算法,并将这些策略和算法以及神通的顺序优化器结合成一个并行查询优化器,在神通数据库上完成了原型设计和实现。 本课题研究内容的正确性及有效性经过标准的实验验证得到了证明。 最后,总结了课题的主要研究内容和几个创新点,并指出了目前存在的不足,并对更深入的研究做了展望。