XML数据查询技术已经成为现今的研究热点

上传人:206****923 文档编号:37512198 上传时间:2018-04-17 格式:DOC 页数:4 大小:28.50KB
返回 下载 相关 举报
XML数据查询技术已经成为现今的研究热点_第1页
第1页 / 共4页
XML数据查询技术已经成为现今的研究热点_第2页
第2页 / 共4页
XML数据查询技术已经成为现今的研究热点_第3页
第3页 / 共4页
XML数据查询技术已经成为现今的研究热点_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《XML数据查询技术已经成为现今的研究热点》由会员分享,可在线阅读,更多相关《XML数据查询技术已经成为现今的研究热点(4页珍藏版)》请在金锄头文库上搜索。

1、XML 数据查询技术已经成为现今的研究热点.txt 时尚,就是让年薪八千的人看上去像年薪十 万。我们总是要求男人有孩子一样的眼神,父亲一样的能力。一分钟就可以遇见一个人,一 小时喜欢上一个人,一天爱上一个人,但需要花尽一生的时间去忘记一个人。 XML 数据查询技术已经成为现今的研究热点 XML(可扩展标记语言)已成为 Web 应用中数据表示和数据交换的标准,随着 Internet 的快速 发展,尤其是电子商务,Web 服务等应用的广泛使用,XML 类型的数据成为当前主流的数据形 式。因此 XML 数据的管理技术尤其是 XML 数据查询技术成为当前的研究热点。 相比起关系型数据,XML 有着各种

2、各样的优点,但有个最大的缺陷就是它的效率。因为关系 型数据文件中,数据的字段名只需出现一次即可,而 XML 数据文件中,元素名将反复出现, 这必须会影响到查询的效率。为了尽可能的提高 XML 的查询效率,需要为 XML 类型提供了索 引功能。 万维网联盟于 2007 年 1 月 23 日将 XPath2.0 和 XQuery1.0 确定为推荐标准,结束了此前各 种查询语言群雄逐鹿的局面。 基于此标准, 除传统厂商外,各科研机构纷纷提出了对 XPath 和 XQuery 的实现(文献中提及的有十数种),其存储模型不同,查询算法各异,优化 途径也各有所长,在这样的背景下,达梦数据库公司根据自身发展

3、战略,也提出了自己的 XML 查询引擎模型,目前,达梦的 XML 查询引擎正在紧张开发中,而对 XML 数据建立有效的 索引是影响 XML 数据查询性能的重要因素。在深入分析当前已有的数据库产品的索引技术基 础上为达梦 XML 查询引擎设计一种较为合理的索引结构,以使该引擎能发挥较优性能。 XML 索引技术简介 目前,人们对 XML 的研究主要分为两个方面。一个是对 XML 这种半结构化数据的存储、查询 和管理的的原生数据库,其中的数据和元数据完全采用 XML 结构表示,与其底层的数据存储 格式(如对象模型、关系模型等)无关。另一个是它与关系数据库之间的相互转换,利用关系 数据库的成熟技术对

4、XML 数据进行处理。由于后一个方向比较有现实意义,因此成了 XML 研 究中的重点。 而除了存储方案之外,索引技术也是决定一个数据库系统最重要的因素之一。如果对 XML 文 档不构建索引结构,那么针对 XML 数据的任何查询都很可能导致对整个文档树的遍历,随着 XML 数据集的增大,这种开销是不可忍受的。故此,对 XML 索引技术的研究具有较高的理论 和实用价值。 虽然传统的索引技术经过长期的积累已经相对成熟,但是,这类索引技术针对的主要是根据 值(而不是具有某种关系的模式)定位数据记录的功能,不太关注数据记录间的逻辑关系;而 XML 数据查询的基本特征就是根据模式特征(正则路径表达式形式描

5、述的结构关系)的输入提取符合该模式的数据,所以,XML 索引的主要内容就是设计适用于模式匹配的技术。 XML 索引分类 基于路径的 XML 索引 基于路径的索引是以 XML 树结构中节点的路径信息为基础,采取某种约简方式,使得约简后 的树结构只维护不同的路径信息,而不会存在具有相同路径的两个节点。 已经提出的这类 索引有:DataGuides 索引、Index Fabric 索引、XML 数据的自适应路径索引(Adaptive Path Index for XML Data, APEX ) Dataguides 索引是从根结点为起始的精练路径的一种结构摘要。边标签串联在一起形成的 字符串路径在

6、 Dataguides 中只描述一次。Dataguides 减少了遍历路径查询时所需的部分 结点,它对从根部遍历 XML 文档是有效的。但对于含有通配符的路径查询或对带有 XPath 标准中定义的 descendant-or-self 轴的路径查询要进行多次的连接操作,查询效率较低, 并且存在数据冗余。 然后编写关于这 2 个大字段的 Java 对象文件 TestLob.java,分别定义类型为 CLOB 和 BLOB 属性字段为 String 和 byte类型,其中由于 CLOB 是处理大文本类型所以它对应了 Java 中 的 String 类型,BLOB 是处理一些以二进制流形势存储的没有

7、严格定义的大文件所以让它使 用 byte类型,然后分别定义这 2 个属性的 Getter 和 Setter 方法,相关代码如下: Dataguides 索引是从根结点为起始的精练路径的一种结构摘要。边标签串联在一起形成的 字符串路径在 Dataguides 中只描述一次。Dataguides 减少了遍历路径查询时所需的部分 结点,它对从根部遍历 XML 文档是有效的。但对于含有通配符的路径查询或对带有 XPath 标准中定义的 descendant-or-self 轴的路径查询要进行多次的连接操作,查询效率较低, 并且存在数据冗余。 Index Fabric 是在 Patricia Trie

8、树上发展而来的一种索引结构,它把到每个元素节点的 每条标记路径都用一个字符串编码,再将这些编码值插入到 Patricia Trie 树中去,从而将 按照路径方式对 XML 数据的查询转化为对字符串的查询。在查询时先将查询路径编码成字符 串的形式,再在索引树中进行查找。Index Fabric 索引优点是存储了 XML 数据的层次结构 信息,统一处理了有模式和无模式信息情况下的 XML 数据的检索,并且使对 XML 数据的查询 和更新所需要的时间与层次相关而不是与索引关键字的长度相关。Index Fabric 索引的缺 点在于丢失了元素节点间的结构关系,因为它只保留了有文本值的元素节点的信息。因

9、此, 与 DataGuides 索引类似,Index Fabric 索引处理带有 XPath 标准中定义的 descendant-or- self 轴的部分匹配查询表达式效率不高 为此,APEX14引入了依赖于 XML 数据查询分布的信息:将经常出现的 XML 查询语句对应的 标签节点预先保存在一个哈希结构中。它的作用类似于 Cache 的功能:当有新的查询要求处 理时,首先在哈希表中搜索是否有满足的节点集合。但它对于带有元素值或属性值的查询表 达式的处理效率较低。 基于节点的索引 基于节点的索引本质上即是将 XML 数据分解为数据单元的记录集合,同时在记录中保存该单 元在 XML 数据中的位

10、置信息。与基于路径的索引不同,基于节点的索引打破了必须通过标签 路径查找节点这一限制,将 XML 数据分解成规范形式的节点记录。由于保存了节点的位置信 息,而且能够很好地结合到成熟的关系数据库管理系统中,因此它是目前应用最广泛的一种 索引。 根据对位置信息的编码方式不同,基于节点的索引一般可以分为一下几类: 1. 基于前缀的索引 基于前缀的索引主要是根据 Dewey12编码生成的索引,文献13的 ORDPATH 编码采用的 也是类似的方法,并给出了压缩 ORDPATH 的方法,该方法已应用于 SQL Server 2005 的索引 组织中。 前缀编码的基本思想是直接将一个节点的双亲节点的编码作

11、为该节点编码的前缀,对于前缀 编码,要判断一个节点 v 是否另一个节点 u 的后裔,只要判断 u 的编码是否 v 的编码的前缀。 前缀编码索引的一个重要性质是它们的字典有序:以节点 r 为根的子树中的任意一个节点 u,它的前缀编码 c(u)大于(小于)它的左兄弟子树(右兄弟子树)中所有节点的前缀编码。 因此,基于前缀的索引不仅能够有效地支持包含关系的运算,而且能够有效地支持文档位置 关系的计算。 2. 基于区间编码的索引 对于区间编码索引,树 T 中的每一个结点被赋予一个区间编码begin,end,满足:一个结点的 区间编码包含它的后裔结点的区间编码.也就是说,树 T 中 的节点 u 是节点

12、v 的祖先,当且 仅当 start(u) 第一个区间编码方案是 Dietz 编码,树 T 中的每一个结点被赋予一个具有先序遍历序号和后 序遍历序号的二元组.由于树 T 中的一个祖先结点 u 在先序遍历(后序遍历)中必然出现在它 的后裔结点 v 之前(之后),因此, 节点 u 和 v 是祖先/后裔关系,当且仅当 pre(u) 另一个区间编码索引的典型例子是 XISS 索引,它为每个节点赋予一个数字对,其中 order 为扩展的前序编码,size 为节点的子孙的范围。对一棵文档树中的任意节点 X 和 Y,当且仅 当 order(x) XISS 索引通过将原始查询语句分解为子表达式。然后分别针对这些

13、子表达式实现查询,最 后对这些中间结果进行联结获得查询结果集。从而能较好地支持含通配符的查询语句。不过, 它是对每一个中间结果进行联结后得到最终查询结果。虽然这样一种方法的确能够解决所有 的通配符问题,可是,这种中间结果的联结很有可能是非常耗时的,特别是对于长路径的简 单表达式。 两种索引机制的比较 基于路径的索引主要基于节点合并的策略,通过节点等价、路径等价等技术,得到比原始文 档小得多的索引结构,它的结构仍然是树型的,所以在处理查询时,基本上仍须遍历整个索 引树才能得到结果。基于路径的索引可以很好地支持简单路径表达式的查询,但是对于正则 路径表达式,它效果不是很理想。 基于节点的索引通过编码技术索引每一个节点,节点之间的结构关系通过编码可以在常数时 间内确定它可以很好地支持正则路径表达式,但是对于长的路径表达式,尤其是在查询产生 的中间结果很多的时候,节点索引的连接操作代价高昂。 基于路径的索引和基于节点的索引各有优缺点,但可以优势互补。目前在实际应用中,基于 节点的索引应用更为广泛,研究得也比较成熟,因此,达梦公司有关 XML 索引结构研究主要 以基于节点的索引为主,并适当参考基于路径的索引加以改进。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号