新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > 数据库综合 > 正文:基于关系数据库引擎的“XML“索引技术

基于关系数据库引擎的“XML“索引技术

新客网 XKER.COM 2008-02-02 来源:赛迪网 10633 收藏本文

XML(可扩展标记语言)已成为Web应用中数据表示和数据交换的标准,随着Internet的快速发展,尤其是电子商务,Web服务等应用的广泛使用,XML类型的数据成为当前主流的数据形式。因此XML数据的治理技术尤其是XML数据查询技术成为当前的研究热点。

相比起关系型数据,XML有着各种各样的优点,但有个最大的缺陷就是它的效率。因为关系型数据文件中,数据的字段名只需出现一次即可,而XML数据文件中,元素名将反复出现,这必须会影响到查询的效率。为了尽可能的提高XML的查询效率,需要为XML类型提供了索引功能。

万维网联盟于2007年1月23日将XPath2.0和XQuery1.0确定为推荐标准,结束了此前各种查询语言群雄逐鹿的局面。 基于此标准, 除传统厂商外,各科研机构纷纷提出了对XPath和XQuery的实现(文献中提及的有十数种),其存储模型不同,查询算法各异,优化途径也各有所长,在这样的背景下,达梦数据库公司根据自身发展战略,也提出了自己的XML查询引擎模型,目前,达梦的XML查询引擎正在紧张开发中,而对XML数据建立有效的索引是影响XML数据查询性能的重要因素。在深入分析当前已有的数据库产品的索引技术基础上为达梦XML查询引擎设计一种较为合理的索引结构,以使该引擎能发挥较优性能。

XML索引技术简介

目前,人们对XML的研究主要分为两个方面。一个是对XML这种半结构化数据的存储、查询和治理的的原生数据库,其中的数据和元数据完全采用XML结构表示,与其底层的数据存储格式(如对象模型、关系模型等)无关。另一个是它与关系数据库之间的相互转换,利用关系数据库的成熟技术对XML数据进行处理。由于后一个方向比较有现实意义,因此成了XML研究中的重点。

而除了存储方案之外,索引技术也是决定一个数据库系统最重要的因素之一。假如对XML文档不构建索引结构,那么针对XML数据的任何查询都很可能导致对整个文档树的遍历,随着XML数据集的增大,这种开销是不可忍受的。故此,对XML索引技术的研究具有较高的理论和实用价值。

虽然传统的索引技术经过长期的积累已经相对成熟,但是,这类索引技术针对的主要是根据值(而不是具有某种关系的模式)定位数据记录的功能,不太关注数据记录间的逻辑关系;而 XML 数据查询的基本特征就是根据模式特征(正则路径表达式形式描述的结构关系)的输入提取符合该模式的数据,所以,XML 索引的主要内容就是设计适用于模式匹配的技术。

XML索引分类

基于路径的XML索引

基于路径的索引是以XML树结构中节点的路径信息为基础,采取某种约简方式,使得约简后的树结构只维护不同的路径信息,而不会存在具有相同路径的两个节点。 已经提出的这类索引有:DataGuides索引、Index Fabric索引、XML数据的自适应路径索引(Adaptive Path Index for XML Data, APEX )

Dataguides 索引是从根结点为起始的精练路径的一种结构摘要。边标签串联在一起形成的字符串路径在 Dataguides 中只描述一次。Dataguides 减少了遍历路径查询时所需的部分结点,它对从根部遍历 XML文档是有效的。但对于含有通配符的路径查询或对带有XPath标准中定义的descendant-or-self轴的路径查询要进行多次的连接操作,查询效率较低,并且存在数据冗余。

然后编写关于这2个大字段的Java对象文件TestLob.java,分别定义类型为CLOB和BLOB属性字段为String和byte[]类型,其中由于CLOB是处理大文本类型所以它对应了Java中的String类型,BLOB是处理一些以二进制流形势存储的没有严格定义的大文件所以让它使用byte[]类型,然后分别定义这2个属性的Getter和Setter方法,相关代码如下:

共2页: 上一页 [1] [2] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐