Updated: Aug 8, 2003

研究课题 :

Native XML database for managing large XML datasets

 

引言 | 研究目标 | 系统结构 | 研究内容 | 发表论文 | 系统演示

 


引言:

  • 早期的XML数据以文档方式存储,以关键字查询等信息检索手段查询,简单易用。由于缺乏系统的存储和查询机制的支持,造成查询能力低,不能满足复杂条件的查询。更谈不上查询优化。一些现有的商业数据库系统扩充了处理XML数据的功能。利用现有数据库成熟的技术,把XML查询要求转变为数据库查询表达,由查询引擎优化查询表达,并执行。再将查询的结果转变为XML数据。这种方法在一定程度上解决的查询复杂性的要求,但是多级的转换带来的问题是效率的降低和查询语义的混淆。

    Native XML数据库管理系统以自然方式处理XML数据。没有因数据模型的转化带来的信息丢失和性能下降。Native XML数据库管理系统与非Native XML数据库管理系统的区别在于:
    - 有效的支持XML数据的自描述性、半结构化和有序性。
    - 系统直接存储XML数据,而不是把XML数据转换成关系模型或者面向对象模型,由关系数据库或者面向对象数据库存储。
    - 直接支持XML查询语言,而不是转换成SQL或者OQL。

      [BACK]

研究目标:

  • 我们的目标是建立一个以XML数据为中心的数据管理系统,支持对XML数据的存储,查询,更新等操作,称为OrientX(Original RUC/IDKE Native XML data management system)。OrientX支持描述化查询语言XQuery, 具有一次一集合的查询处理能力。基于代价估计的查询优化方法分析不同的查询方案,选择代价最小的执行。基于模式的路径索引根据模式和数据的编码迅速判断父子或祖先后代关系。OrientX支持采用多种粒度的树形结构存储数据,系统根据数据模式特点等提供不同的物理存储方法,拥有统一的逻辑层,是Native XML数据库管理系统。
      [BACK]



系统结构:


研究内容:

    1. Native XML存储研究(Native XML Storage)

    OrientX存储系统OrientSrore[VLDB2003 Demo]建立在操作系统的文件系统之上,申请若干定长的文件(比如8M),这些文件属于特定的数据集,数据集用SetID来标志;在文件上划分逻辑物理块,物理块定长,是操作系统物理块的整数倍(比如8K),物理块用LpNo来标志;给定一对<SetID,LpNo>,能马上找到对应文件的相应的偏移量。

    OrientX支持四种存储策略。前两个适用于没有模式信息的数据,后两个适用于有模式支持的数据。根据记录的粒度不同,存储策略可以分为Element-based和Subtree-based,记录的粒度分别是一个结点和一棵子树。如果没有模式信息,那么将记录按它在文档树的后序遍历存储。这是由于我们使用的XML Parser——SAX2的特性决定的。我们分别把这两种存储方法叫做Depth-first Element Based(DEB)和Depth-first Subtree Based (DSB)存储方法;如果有模式信息,那么将利用模式信息把同类记录聚簇存储。这类存储策略有两个:Clustered Element Based和Clustered Subtree Based,简称为CEB和CSB。

    2.模式管理(Schema/Matedata Management)

    由于XML数据具有自描述特性,目前的Native XML 数据库管理系统中的模式信息是从数据中提取的,这样的模式信息庞大而且复杂,而且,由于XML数据的半结构化,数据与模式信息之间并不具有完全对应的关系,这时的模式信息只是作为查询或者了解数据的一个指导,并不具有约束数据的功能。而在传统数据库中,数据与模式信息保持完全的对应关系,模式对数据具有约束能力,模式严格约束数据的类型、操作和结构,数据的查询、更新、和存储都要遵循模式的定义。这样,数据库可以利用模式信息做很多工作,如查询时的类型检查、不同类型的索引的创建和管理、存储时数据的聚集方式、查询优化时的代价估计等。
    OrientX 保留了传统数据库中模式对数据的约束能力,同时DTD树方式保存的模式本身是半结构化的,能够在不破坏XML数据特性的前提下,对XML数据进行约束。这种模式约束带来的优势就是可以充分的利用模式信息查询、管理和存储数据,提高数据库管理系统的性能。

    3.索引管理

    我们提出的SUPEX索引[VLDB2002 PhD Poster, APWeb2003]利用了在实际应用中经常存在的XML数据的模式信息——DTD,从DTD出发构建索引结构,总结了符合DTD的XML数据可能出现的路径结构。其结构包括三个部分:结构图,元素映射表,和索引记录,结构图是路径索引的主体,它是从DTD中构造出来的,描述了符合DTD的文档中可能出现的路径。元素映射表是为了便于找到结构图中用同名元素名标记的节点而建立的入口索引,而索引记录是若干个元素记录集合。
    通过结合XML数据的编码,该索引可以支持多种查询方式,包括绝对路径查询,父子关系和祖先-后代关系的基本结构关系,相对路径查询等,从而能够有效地支持路径表达式的计算。XML数据编码的引入使得查询结果可以进一步用于路径表达式的计算。

4.XML的编码研究(XML Numbering Schema Update)

主要研究XML的编码更新问题。

5.XQuery查询处理

研究XQuery的查询处理策略,查询优化,结构连接等问题

6.XML的数据更新(XML Data Update)

对于XML数据的更新操作,无论在语言,还是在操作方法上都没有一个统一的标准,OrientX中提供的数据更新功能,是和数据查询相结合的,首先用查询语句定位要更新的数据,然后根据要求执行更新操作。更新操作从逻辑上是指:元素的插入,删除和更新。更新包括模式检查,结点定位,存储空间的分配和其它辅助数据的更新,比如索引、编码等。

7.XML安全 (XML Security)

OrientX采用基于角色的访问控制,通过角色而不是用户的ID来给用户授予访问数据库的权限可以提高系统的安全性并且减少了安全管理的代价。角色之间有继承关系,构成一棵角色树。用户访问控制的粒度是结点级。
采用类XPath语句对每个角色授权路径中允许出现谓词,为了使用方便和强化授权能力引入否定授权,制定权限冲突规则,和冲突检测机制。授权检测时,只需对查询语句构成的查询树和授权语句构成的权限树匹配,如果查询树满足权限树,则允许查询执行,否则拒绝,无需访问数据信息。

 

  [BACK]

发表论文

 


      [BACK]

系统演示

 


  [BACK]

[Home] [Research] [Projects] [Activities] [Publications][Courses][Seminar][Lab] [Links]

School of Information
Renmin University of China , Beijing 100872, China
Phone:86-10-62519453 , Fax:86-10-62519453

[comments to xfmeng@ruc.edu.cn]