论文部分内容阅读
自1998年W3C(World Wide Web Consortium)发布了XML1.0[1](Extansible Makeup Language)标准以来,XML就迅速显示出在数据存储、数据交换等方面的优越性,短短几年时间,XML就成为了Web上的数据表示和数据交换的标准,XML数据成为Internet上的主流数据,显露出强大的生命力。随着网络信息的不断的膨胀,如何有效地存储和管理这些XML数据,已成为当前各种网络应用面临的较为突出的问题。 XML作为一种数据的表示形式由于它可以灵活的表示各种数据,尤其是那些关系模式无法表达的复杂的数据,正在数据库及网络中的数据传输领域被广泛使用。XML文档数据库的设计和存储正受到越来越多的关注。目前关于对XML数据存储和管理的研究主要集中在使用关系数据库来存储和管理XML数据(XED—XML Eenable Database)和使用原生XML数据库(NXD—Native XML Database)来进行存储和管理两个方面。 XML文档的存储直接影响到对于它的查询效率。目前,原生XML文档数据库设计正成为数据库界关注的热点研究课题,这其中对XML文档的存储多以平面文件数据库方式存储。即XML文档多以文本方式表达,然后借助于工具软件解析文档的层次结构,并对其进行操作。直接对其存储也已经有很多这方面的研究。但他们多考虑对树结构中的节点如何进行编码,如何高效插入和遍历。这过多集中于逻辑层面上的设计。而忽略了其物理存储和实现方面的研究。对于实现中遇到的各种问题基本上没有给出相应的解决方法。尤其是遇到具有大量结构相同元素时效率明显下降。基于此,本文提出了一种高效的XML文档存储方案SDML。详细讨论了他的存储结构和实现细节。特别提出了如何解决具有大量结构相同元素的存储方法,并给出了在其上进行查询,插入,删除、文档加锁和索引维护等操作的解决方案。给出了这种结构I/O费用代价。本方案的提出主要基于作者参与开发的通用数据实验平台。 通用数据实验平台参照数据库系统的体系结构设计,采用模块化结构