论文部分内容阅读
随着Web技术及其应用的快速发展,XML作为Web上信息表示和数据交换的一种数据格式,在电子数据交换、科学数据表示、电子商务和搜索引擎等许多重要领域得到广泛的应用,Web上已经积累了大量的XML文档数据。由于XML数据是一种既有文档的特点,又具有结构化特点的半结构化数据,给XML数据上的查询带来了挑战。虽然由W3C组织提出的查询语言XQuery在功能上实现了对XML数据的查询,然而XML数据的半结构特征和XQuery的复杂性,使得传统的数据库查询和优化技术难以满足XQuery查询处理的性能要求。 为了提高XML查询处理的效率,本文主要研究基于pureXBase体系结构的XQuery查询优化技术和并行处理技术。本文提出了一种基于XML Schema的支持动态更新的索引SBDI,该索引充分利用XML Schema的路径信息来提高XQuery中路径表达式的查询效率。在索引构建中,先把XML Schema映射为一棵结构树,并采用DDE编码方式分别对XML文档和XML Schema编码,基于此编码建立XML索引和XML Schema索引,其中XML文档携带了XML Schema的编码信息。本索引不需要预留空间,在不影响索引结构的前提下能很好的支持对XML文档的更新操作。在此基础上,本文提出了基于SBDI索引的查询处理方式,其中包括针对路径表达式提出的两种优化策略和对FLWOR表达式提出的3个重写规则。 针对在大XML文档上的查询效率问题,本文结合pureXBase体系结构对纯XML数据库系统中的并行处理技术进行研究。本文主要分析了XML并行处理机制和PSPIB分片策略,并针对XMark测试基准20种查询提出了两种查询分解策略(路径中含有“//”的表达式和FLWOR表达式分解策略)和3种结果合并策略(消除冗余结果、类型转换和顺序访问)。 经过实验验证,本文提出的索引结构动态性能较好,对更新操作具有较小的维护代价,提出的优化策略也优于现有的一些优化方法;在并行处理方面,提出的查询分解策略和路径合并策略使得整个系统并行性能提高,大文档查询明显加快,加速比性能也较好。本文的研究成果将有助于提高数据库系统中对XML数据的查询处理效率。