论文部分内容阅读
本文主要描述了基于关系-XML双引擎数据库管理系统CoSQLRX的XML数据索引的研究与实现。双引擎数据库系统是指能同时处理关系型数据和XML类型数据的数据库系统。随着XML相关技术的发展,XML数据的应用领域越来越广泛,许多领域都存在对关系数据和XML数据统一管理的应用需求,目前国内却缺少有影响力的关系-XML双引擎数据库管理系统,所以CoSQLRX数据库管理系统的实现具有重要的现实意义。CoSQLRX系统在关系型数据库管理系统的基础上,加入纯XML存储和XML查询处理技术,可以完成许多领域中的数据管理工作,例如企业信息化和电子商务等领域。创建XML索引是加速XML查询的重要手段。在CoSQLRX系统中,XML数据索引是一个重要的模块,本文主要阐述了针对此模块的研究与实现。首先,本文介绍了XML数据索引的概念及其研究背景和现状,分析了几种基本的XML索引类型以及相应的特点。然后,本文阐述了XML索引模块的设计。文中介绍了XML数据在CoSQLRX系统中是如何存储的,索引结构的设计,以及索引构建、更新、扫描的流程。在CoSQLRX系统中,XML索引的结构主要包括两部分,即中间信息表(XmlInfoRelation)和B-Link树。建立XML索引的时候,从纯XML存储中读取XML文档中的数据,提取里面的有用信息,如路径信息,值信息等,将其存入中间信息表(XmlInfoRelation)和B-Link树中。执行XML查询处理时,系统会解析查询语句,调用合适的索引,然后在B-Link树中寻找符合查询条件的结点,如果找到则进一步取出该结点在中间信息表中的相应信息,进行进一步分析,最终决定该结点是否作为查询结果返回。基于以上的思想,本文设计并实现了四种XML数据索引:简单路径索引,值索引,祖先/后代索引和Twig索引。最后,本文介绍了XML数据索引是如何实现的,并利用XMark测试基准对XML索引的创建和查询作了一些测试。从测试结果可以看出,在CoSQLRX系统中建立了XML数据索引之后,可以有效的加速XML查询处理。