纯XML数据库研究综述
主动XML数据研究综述
文献标识码 l A
文章编 号 : 1 6 7 4 - 0 9 8 X ( 2 0 1 3 ) 0 7 ( b ) - 0 0 3 1 - 0 1
Ab i t e bo u l s“ 等 人 组 成 的 工 作 小 组 自2 O O 2 年 提 出主 动 x M L( A c t i v e e X t e n s i b l e Ma r k u p L a n g u a g e , 简称 为 AXM L ) 以 来, 对 它们 的 研 究 从 未 间 断 , 取 得了一 定成 绩 , 为 AxML 的 开发 应 用奠 定 了 基础 。 AXM L 是 集 成 XM L 、 We b s e r r i c e s 和p 2 p 结 构 的 平 台, 允 许在 XM L 文 档 中嵌 套We b s e r v i c e s 。 AXML 系统 是 由AXML 文 档 、AXM L s e r vi c e s 和 AXM L 端 所 组成 的 , 其 中AxM L 文 档 是嵌 套 We b s e r v i c e s 的 XML 文档, We b s e r v i c e s 是 关 于 AxM L 文档的查询和更新 , AX ML 文 档 和 AxM L s e r v i c e s 放在 AxM L 端, AXML 端 是 关 于 存 储AXML 文 档 的 查 询和 更 新的 用户 接 口。
得其 包含 的隐含信息来扩充文档内容。 谊史介 绍了主动X ML 数据的特点、 局限性以及挑 战. 综述 ̄ ' AXM L事务特征 . A XML 景 统的组织等方面的
工作 。 .
关 键词 : 主动XML W e b 服 务 事务 主动XML系统
中图分类号 : T o m”>
纯XML数据库语义缓存综述
S r e n s m a t a h n n t e XM L a a a e u v y o e n i c c ei a i c v d tb ss
T , E in h a L ol n A Na F NG Ja — u , IGu — a g i
( eat etfC m u r c nead Tcnl y s g u nvrt eig10 8 ,C ia D p r n o o p t i c n ehoo ,Ti h aU i sy m eSe g n e i,B in 00 4 hn ) j
有效地减少网络传输 中不 必要的负载 。 当前纯 X ML数据库 系统 的缓存 技术 研 究主 要集 中在语 义缓存上 , 本文 主要 对语 义缓存 的技 术进行分析 和综述 , 指 并
出纯 X ML数据库语 义缓 存研究的发展 方向 。
的要 求 。
所以对 X L M 数据查询 响应 时间 的要求 就显 得更 加 重要 。在 这种情形下 , 合理高效地 缓存数据 , 一方面 可以大规模地提 高 数据 库的响应速度 , 减少 结果数据 的返 回时 间 , 缓解 网络数 据
传输 带来的一系列性能上 的问题 ; 另一方面 , 缓存数据 也可以
Ab t a t h o c p s f s ma t c c e a d XML i q i ln u g e e i t d c d n h r u h s r e n sr c :T e c n e t o e n i a h n c n u r a g a e w r nr u e ,a d a t o o g u v y a d y o d ti d a 'y i o lme tt n n e h i a c a a tr t so ee it g s ma t a h si a ie XML d t b s s w r eal n iss fi e na i sa d t c n c l h r ce si f h xsi e ni c c e n t e a mp o i c t n c n v aa a e e e p e e td r s n e .A n w fs s la t a h o k u l o i m s p o o e . Ne r b e n h l n e r ig f m u r n e a t e n ni c c e lo p ag r h wa rp s d c t w p o lms a d c al g s a i n r e s o c re t rs a c e e d s u s d a d s me s g e t n e e p o o e o uu e w r . e e r h w r ic s e n o u g si s w r rp s d f rf t r o k o Ke r s a ie XML d t b s ;c c i g tc n q e e n i c c e y wo d :n t v aa a e a h n e h i u ;s ma t a h c
XML数据库技术研究进展
第2 0卷第 3期 20 0 6年 9月
南华 大学学报 ( 自然科学版 ) Ju l f ah aU i rt( c neadT c nl o ma o N n u nv s y S i c n eh o ei e
V 12 . 0 . 0 No 3 SD 2 0 e .0 6
文 章 编 号 :6 3— 0 2 20 ) 3— 0 2— 5 17 0 6 ( 0 6 0 0 4 0
X L数据库技术研究进展 M
王杰文 李赫 男 ,
(. 1 南华大学 计算 机科学与技术学院 , 湖南 衡 阳 4 10 ;. 2 0 1 2 湖南第一 师范 , 湖南 长沙 4 00 ) 10 2
数据 表示 形式 . 以 , 以说 , ML架起 了一 座 各 所 可 X
1 x L数据存储方法 M
X L数据库的存储策略主要有四种 : M 利用 文件系统的平面文件 、 利用成熟 的关系数据库管
理 系 统 ( e tnlD t aeMaae etSs m, R l i a aa s ao b ngm n yt e
类数据之间的桥梁 , 是各类数据之间进行交换 、 集
收 稿 日期 :0 6— 7— 9 2 0 0 0
基金项 目: 湖南省 教育厅基 金资助项 目(3 4 3 0C2 ) 作者简 介 : 王杰文 (9 3一) 男 , 16 , 湖南祁东人 , 南华 大学计算机科学 与技 术学院教授. 主要研究方 向 : 计算机 网络
X L数据的结构化查询, M 具有较高的存储与查 询 效率 .
4 N t eX ) av ML数 据库 i
Ss m,O B ) 采 用 全新 的 N teX yt O D MS 、 e av ML数 据 i 库 管 理 系 统 ( av ML D t ae Maae et N te X aa s ngm n i b Ss m, B S . yt X M ) e 1 文 件系统 的平 面文 件 )
数据库技术发展综述
数据库技术发展综述本文对数据库的概念、发展阶段、内容以及发展趋势进行了分析,希望能够提供一些借鉴和参考。
标签:数据库概念发展内容趋势一、前言当前,信息技术的快速发展给人们的生产生活带来了极大的便利,其中数据库技术更是起到至关重要的作用。
二、大数据概述大数据(BigData),也称巨量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的资讯,通常被认为是PB或EB或更高数量级的数据。
大数据特点是容量在增长、种类在增长、速度也在增长,面临如此庞大的数据量,数据的存储和检索面临着巨大挑战。
比如2007年时,Facebook使用数据仓库存储15个TB的数据,但到了2010年,每天压缩过的数据比过去总和还多,那时商业并行数据库很少有超过100个节点以上的,而现在雅虎的Hadoop集群超过4000个节点,Facebook仓库节点超过2700个。
大量的数据现在已经开始影响我们整个的工作、生活、甚至经济,如何存储和高效利用这些数据是需要我们解决的。
三、计算机数据库的发展计算机数据库已经历了长达五十年之久。
计算机数据库已经在理论和系统上都取得了辉煌的成就。
并且,已被广泛应用于多种行业。
计算机数据库的发展主要经历了如下的三个阶段:1.第一阶段:层次和网状数据库系统在第一阶段中,数据库支持层次和网状数据化模型。
网状和层次数据库为数据方法和数据库提供了基础。
这两种数据库系统是应用较早的数据库技术。
2.第二阶段:关系数据库系统此阶段数据库技术主要被广泛应用到企业管理,办公自动化和情报检索等方面。
它以严格的数学概念做基础,简单,清晰,易于被用户接受而风靡一时。
3.第三阶段:以面向对象数据模型为主要特征的数据库系统面向对象数据库其本质是类的集合。
在这个阶段中,其主要目标是为面向对象的数据模型提供类层次结构。
它主要有这些特点:一是永久保存数据库中的数据,其次是在存储管理方面,如:数据聚集,索引管理,查询优化,数据缓冲,存取路径选择等。
数据库综述【文献综述】
文献综述通信工程数据库综述摘要:“数据库”概念最早出现在20世纪中叶,当时美军为作战指挥需要将收集到的各种情报存储在计算机中,并且称之为—数据库。
而DBMS是数据库主要的工作模式之一,下面我们会介绍他的工作方式,而基于VB的网络数据库将是我们这次课题的主要研究对象。
关键词:数据库;DBMS;Microsoft SQL Server1、引言数据库技术产生于20世纪60年代,经历了格式化数据库(以层次和网状数据库为代表),经典数据库(以关系数据库和后关系数据库为代表)和新型数据库(以对象数据库和XML数据库等为代表)的三代发展演变。
40多年来,数据库技术的重要性和意义已经被人们所认识与理解。
首先数据库技术已经形成相对完整成熟的科学理论体系,成为现代计算机信息处理系统的重要基础与技术核心,造就了C.W.Bachman、E.F.Codd和J.Gray三位图灵大奖得主;其次,数据库带动和形成了一个巨大的软件产业——数据库管理系统产品和相关技术工具与解决方案,对经济发展起着极大的冲击和推动作用,表现出非凡的生产力效应;再者,数据库研究和开发领域的各项成就推动了其他众多计算机理论与应用领域的进步,对于这些领域的发展起到了巨大的支撑作用,成为各种计算机信息系统的核心内容与技术基础。
进入新世纪,数据库系统及应用技术越来越得到人们的重视和关注,强化数据库基础教育与应用训练显得非常必要和十分迫切。
IEEE/ACM颁布的CC2005(Computing Curricula2005)将数据管理和实践列为大学计算机教学全部5个方向(计算机工程CE、计算机科学CS、信息系统IS、信息技术IT和软件工程RE)的必须内容。
2、数据库系统概述“数据库”概念最早出现在20世纪中叶,当时美军为作战指挥需要将收集到的各种情报存储在计算机中,并且称之为—数据库。
起初只是将其简单看作一个个存储数据文件的电子容器。
随着数据库管理技术的发展,人们沿用并逐步引申了数据库概念,给予这个名词以更为合理与深层的意义。
大数据文献综述
大数据文献综述随着信息技术的飞速发展,数据的产生和积累速度呈指数级增长,大数据已经成为当今社会各个领域关注的焦点。
大数据不仅改变了我们获取、处理和分析信息的方式,也为科学研究、商业决策、社会治理等带来了前所未有的机遇和挑战。
本文将对大数据相关的文献进行综合梳理和分析,旨在全面了解大数据的概念、特点、技术架构以及其在不同领域的应用和影响。
一、大数据的概念与特点大数据的概念最早由知名咨询公司麦肯锡提出,其定义为:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
海量的数据规模是大数据最显著的特点之一。
在当今数字化时代,数据的生成来源极为广泛,包括互联网、物联网、社交媒体、金融交易、医疗记录等。
这些数据的总量已经达到了 PB 级甚至 EB 级,远远超出了传统数据处理技术的处理能力。
快速的数据流转意味着数据的产生和更新速度非常快。
在一些实时应用场景中,如金融交易、物流监控等,数据需要在极短的时间内被处理和分析,以做出及时的决策。
多样的数据类型也是大数据的重要特点。
除了传统的结构化数据(如关系型数据库中的表格数据),大数据还包含大量的半结构化数据(如 XML、JSON 格式的数据)和非结构化数据(如文本、图像、音频、视频等)。
价值密度低则是指在海量的数据中,真正有价值的信息往往只占很小的比例。
因此,如何从海量的数据中挖掘出有价值的信息成为了大数据处理的关键挑战之一。
二、大数据的技术架构大数据的处理需要一套完整的技术架构来支持,包括数据采集、数据存储、数据处理和数据分析等环节。
数据采集是大数据处理的第一步,其目的是从各种数据源中获取数据。
常见的数据采集技术包括网络爬虫、传感器数据采集、系统日志采集等。
数据存储是大数据处理的重要环节,由于大数据的规模巨大,传统的关系型数据库已经无法满足需求。
因此,分布式文件系统(如 HDFS)和分布式数据库(如 HBase、Cassandra 等)成为了大数据存储的主流选择。
《XML数据库》PPT课件
INSERT INTO bookstore VALUES (1492,
xmlparse ('<?xml encoding="UTF-8"?> <book price="25.00"> <lang>English</lang> … </book>') );
h
16.3 XML数据模型
16.3.1 XML DTD 16.3.2 XML Schema
h
XML Schema
❖ 定义XML模式的另外两个标准:
XML Schema Document Content Descriptors(DCDs)
❖XML Schema
▪ 用XML来定义其文档的模式,支持对结构和数据类型 的定义
h
XML Schema(续)
表16.2 DTD和XML Schema的特征比较
DTD
XML Schema
Syntax in Namespace Include & Built-in User-defined Domain Explicit
XML
Import type type
constraint Null
h
XML Schema(续)
XML Schema的例子 [例8]
<elementType name="paper"> <sequence> <elementTypeRef name="title"/> <elementTypeRef name="author" minOccurs="0"/> <elementTypeRef name="year"/> <choice> <elementTypeRef name="journal"/> <elementTypeRef name="conference"/> </choice> </sequence> </elementType>
XML流管理研究综述
计算机研究与发展ISSN1000-1239P CN11-1777P T P Jour nal of Comput er Research and Development46(10):1721-1728,2009XML流管理研究综述杨卫东施伯乐(复旦大学计算机学院上海200433)(wdyang@)A Survey of XML Stream ManagementYang Weido ng and Shi Baile(School of Comp uter Science,F ud an Univer sity,S hang hai200433)Abstract XML stream manag em ent system fits a larg e class of new applicatio ns such as publish P subscribe sy stem,netw ork m onitor ing systems,and the ex tensible markup lang uage has beco me the de-facto standard for data representation and ex change of Web data.Therefore,there have been a hot spot in the area of data steam research recently.Differ ent fro m traditional XM L database manag em ent system s,an XM L stream system aim s to prov ide fast,on-the-fly matching of XM L-encoded data to user p s query.It usually invo lves handling the XM L stream co ming online at any moment and any order,and r equiring timely response w itho ut incurring more m em ory co st.Because that XML stream is nested and recursive and user p s interests ar e repr esented by XML query lang uag es such as XQuery or XPath,XML stream m anagement system is v ery different from relational data stream(i.e.tuple based str eam)sy stem.In this paper,a com prehensive overview o ver researches r elevant for XM L stream m anagement sy stem is presented,the characteristics of XM L stream m anagement are pointed out;typical XM L stream manag em ent system s are com pared,ex isting approaches for processing XM L stream are discussed and analy zed including the approaches based o n automaton,index and sequence; optimizing techniques fo r processing XM L streams are described.A lso,the further researches are pointed out.Key words data stream;XM L;XPath;XQuery;XM L stream management摘要近年来,XML流管理是数据流研究领域中的一个热点研究问题.不同于传统数据库管理系统, XM L数据流管理系统需要在使用少量内存的情况下随时处理在线到达的数据流;由于XM L流具有递归的、层次的结构,并且用户兴趣通常用XM L查询语言来表示,因此,XM L流管理技术与关系型数据流(基于元组的数据)管理技术有很大不同.综述XML流管理技术及各项研究成果;指出XM L流管理系统的特点;比较了当前典型的XM L数据流管理系统;系统地阐述和分析当前国内外已有的XM L流数据处理方法(包括基于自动机的方法、基于索引的方法,基于序列的方法)和流处理的相关优化技术;指出尚需进一步研究的问题.关键词数据流;XM L;XPath;XQ uery;XM L流管理中图法分类号T P311收稿日期:2007-07-10;修回日期:2009-04-30基金项目:国家自然科学基金项目(60773076,90818023);上海市重点基础研究计划基金项目(08J C140250);上海市引进技术创新年度计划基金项目(消-34-1);教育部留学回国人员科研启动基金20世纪90年代初,数据流管理系统的研究受到广泛关注[1].它不是将数据持久存储在数据库中,用户通过即席查询来获取数据;相反地,它将数据建模为临时的数据流,支持持续的查询.这类技术可广泛应用于金融应用中的股票行情系统、Web上的网络监测系统、传感器网络中的数据管理等.数据流研究通常针对两种数据:关系型数据和XM L数据.本文综述XML流数据管理技术.1XML流管理概述XM L流是以流的形式在线、实时到达的;其到达次序不受应用控制;对数据的查询是持续的;很多系统是在Web平台上发布的,通常要及时处理大量查询(多查询处理).另外,XM L流管理具有以下特点:1)XM L流以字符流的形式或更常见的记号(token)流的方式进行.由于XM L是自描述的,内容与结构标签混杂在一起,具有层次、嵌套的结构,因此,其中的记号需要XM L流中的其他记号所提供的背景信息.2)用户对数据的兴趣通常用XPath或XQuery 等表示.由于其中的路径表达式可以包含的/*0、/P P0和任意复杂的谓词,使得XM L流的查询处理更为复杂.3)XM L流管理系统均采用事件驱动的体系结构风格,通常使用基于事件的解析器对XM L流进行解析.它通过一系列方法回调来创建一个XM L 流.每个方法调用称为事件,每个对应的事件都传输XM L流的一个记号.通过实现这些接口,应用程序可以采取相应的动作来处理这些事件.XM L流管理总体目标是在有限的内存中对XM L流进行实时、持续的查询处理.因此,研究高效、实时的XM L流处理方法是该领域面临的主要挑战.国际上众多学术机构都对XML流管理技术进行了研究,例如加州大学伯克利分校数据库研究组的X P YFilter项目[2-3]、华盛顿大学的XML Too lkit项目[4]、马里兰大学的XSQ项目[5]、伍斯特科技学院的RAINDROP项目[6]、亚利桑那州立大学Bo ng ki Moo n等人开发的FiST系统[7]、哥伦比亚大学和AT&T实验室的Gravano等人开发的Index-Filter[8]、NEC研究实验室Candan等人的AFilterI[9]、加州大学洛杉矶分校的Stream M ill项目[10]等.在国内,复旦大学、北京大学、人民大学等也对XML流管理技术进行了研究[11-14].从支持的查询语言上讲,多数系统支持XPath 的子集,即XP{P,P P,*,=>}.只有少量的研究支持水平轴和逆向轴,但需要提前转换为前向轴,例如SPEX[15].少数系统支持XQuery的一个小的子集,即FLWR(For-Let-Where-Return)和路径表达式XP{P,P P,*,=>}.支持XQuery的XM L流管理系统的一个重要特点是需要向用户返回满足查询结构的XM L文档片段,因而需要有效的缓存管理方法[16-17].许多研究者将它们的系统称为过滤器[2,8-9].在文献[17]中,将只向用户返回真假值(用来表示查询是否匹配)的称为过滤系统,这类系统大多只支持XPath查询;而返回查询结果(XML 文档片段)的称为全功能演算系统[17].也有一些针对XPath的系统支持少量的缓存管理,例如Index Filter能够返回整个匹配路径;XSQ支持某个节点的返回.但相比于XQ uery的返回结果管理要简单得多.Table1Several Representative X ML Stream Managem ent System s表1几个典型的XML流管理系统Sys tem M eth od Qu ery Lan guage Filter P Ful-l fledged Single P M ult-i QueryYFilter Based on Automata(DFA)XPath(XP{P,P P,*,=>})Filter M ult-i Query(Prefix S har ed)In dexFilter Based on Index XPath(XP{P,P P,*})Fu l-l Fledged Eevaluation M ult-i Query(Prefix S har ed)AFilter Based on Automata(DFA)XPath(XP{P,P P,*})Filter M ult-i Query(Prefix P Su ffix Shared) FiST Based on Prufer Sequen ce XPath(XP{P,P P,*,=>})Filter M ult-i QueryXM LT K Based on Automata(Laz y DFA)XPath(XP{P,P P,*,=>})Filter M ult-i QueryXSM Based on Automata(XSM s)XQu ery(FLW R)Fu l-l Fledged Evaluation Single QueryXSQ Based on Automata(H DPDT)XPath(XP{P,P P,*,=>})Fu l-l Fledged Evaluation Single QueryT urboXPath Based on Automata(DFA)XQu ery(FLW R)Fu l-l Fledged Evaluation Single Query1722计算机研究与发展2009,46(10)自动机是由事件的发生来驱动状态转移的,能够较自然地处理XM L 流,因而为大多研究所采用.在基于自动机的方法中,需要将查询转换为某种特定的自动机形式.理想情况下对XM L 流的处理应当是单遍完成的,但有些系统对XM L 文档还是通过多遍扫描处理的.例如,YFilter [3]在处理简单查询时对XML 流是单遍扫描处理的,而在处理含有分支的查询时,先将分支路径单独处理,再进行合并运算.IndexFilter [8]自称为基于索引的方法,而将采用自动机的系统称为基于导航的方法.它根据预先计算的XML 文档的索引进行查询处理,从而避免了处理一部分肯定与任何查询不匹配的部分XM L 文档.但是,除了查询匹配过程外,这种方法必须有一个对XML 流进行索引的预处理过程,需要耗费相应的内存或时间.还有的方法将XPath 转换为某种序列或串[7,18]与XM L 流进行匹配.其中,Pr fer[7]方法将tw ig patter n 和XM L 流转换为Pr fer 序列,然后进行两个序列之间的匹配,因此也需要对XML 流进行多遍处理.当前的研究中,有的系统只支持一次处理一个查询,称为单查询系统.而有的系统支持一次处理多个查询,称为多查询系统.显然,单查询系统的性能要高于多查询系统.在当前的单查询系统中,查询处理的时间耗费通常都小于XML 流的解析时间,其空间耗费接近于常量.多查询优化的一个重要问题是如何共享大量查询之间的公共部分,以节省处理时间和空间的耗费[8-9].例如,大多数基于自动机的多查询系统都采用前缀共享的方式进行优化.2 基于自动机的方法自动机是由事件驱动而发生状态转移的,是处理XM L 流的较为自然的方式,因而被多数系统采用.X P YFilter 是基于自动机方法的典型代表.XFilter 将每一个XPath 表达式(它支持XPath 表达式的子集:/P 0、/P P 0和简单的谓词)转换为确定有限自动机(DFA).YFilter 在XFilter 的基础上进行改进,它使用单个NFA 来表示所有XPath 表达式,并通过前缀共享来支持多查询的处理.下面简单描述YFilter 的方法.如图1(a)所示,左边是XPath 的4个基本定位步,分别为/P a 0,/P P a 0,/P *0和/P P *0,其中,/a 0表示构成DT D 中所有元素的任一符号;/*0是通配符;/P 0和/P P 0分别表示父子轴和祖先后裔轴.图1(a)右边说明如何将一个XPath 表达式翻译为对应的单个NFA.针对/P P 0,YFilter 引入到一个带有自转移状态的E -转移.因而,构造的NFA(表示为NFAp)保持了XPath 不同定位步的语义.N FAp 的最终状态即为XPath 表达式的接受状态.图1(b)直观地说明如何通过共享前缀将多个NFAp 组合为单个NFA.F ig.1 Co nstr ucting the N F A o f X Path(Y Filter ).(a)Constructing N F A of an XPath ex pr essio n and (b)Co nstr uctingpr efix -shar ed N FA of multiple XP aths.图1 构造XPat h 的N FA (Y Filter ).(a)构造单个XPat h 的N FA ;(b)构造多个查询的前缀共享N F AYFilter 是以事件驱动的方式执行查询匹配.文档是按标记(tag )依次解析的,以此通过回调机制驱动NFA 的状态转移.YFilter 需要一个运行时栈来维护当前的活动状态(可能出现多个活动状态).当遇到Start Docum ent 标记时,NFA 进入初始状态,同时初始状态进栈;当遇到Start Element 标记时,在状态的索引结构中(基于散列表的索引结构,数据流的元素标记作为散列表的键)寻找相应状态,如果存在,则它是一个目标状态.当NFA 到达接受状态时,查询匹配发生.当遇到End Element 标记时,执行相应的出栈操作.图2给出了一组XPath 查询、相应的NFA 、查询的索引结构以及查询与数据流匹配过程中的运行时栈的情况.基于自动机方法的一个主要瓶颈是随着查询数1723杨卫东等:XM L 流管理研究综述F ig.2Auto mat on-based metho d(YF ilter).(a)T he set of XP ath quer ies and(b)Index st ructur e and run time stack.图2基于自动机的方法(YF ilt er).(a)XPat h查询集;(b)索引结构和运行时栈目的增加,系统状态数目急剧增加.XFilter系统性能随着查询数目的增加呈线性下降趋势.在最坏情况下(查询的形式为:P P x[y=v1]P P x[y=v2]P P,P P x [y=v m]),它的复杂度是O(N@2d),其中,N是总的XPath数目,d表示数据流的最大层数.与XFilter相比,YFilter使用单个NFA同时处理大量查询.在这种情况下,其性能明显优于XFilter,在最坏情况下,YFilter的时间和空间复杂度随着查询的数目呈指数级增长.值得注意的是,这些结论只是在有限的查询能力下成立(即不含谓词的查询),未对充分考虑谓词处理的情况.除此之外,YFilter还支持对谓词和嵌套路径表达式(例如P a[b P c]P d)的处理.对基于值的谓词的处理,采用延迟计算的方式,即在结构匹配后再进行计算;针对嵌套路径表达式,YFilter使用查询分解进行处理.当一个查询包含嵌套路径时,就被分为主路径和一组扩展路径,每一个扩展路径都用一个相对独立的NFA进行处理.对它的处理分为两步:路径匹配和路径匹配结果的后置处理(执行连接操作).这种后置处理的方式可能会产生大量中间结果,从而影响系统性能并耗费更大内存.参考文献[13]通过分析和实验说明,在处理大量嵌套路径表达式和大文档(文档大小在1M B以上)时,YFilter 的处理性能急剧下降.XM L To olkit针对基于状态机方法所存在的状态爆炸问题,构造单个懒惰DFA来表示多个XPath 表达式,有助于减少自动机状态数目/爆炸0式的增长.XM LToo kit说明,急切DFA具有的活动状态为O(2n um_path_exp ressions),使用懒惰状态机可以将活动状态减少到O(quer y_dep th degr ee_of.recursion_in.data).XM L T oolkit的另一个主要贡献是:说明在一定假设下,懒惰DFA的时间和空间复杂度不依赖于查询的数目.如果只考虑简单的、只包含/P0和/P P0的XPath 表达式,懒惰DFA的状态数目至多随Schem a的大小(也就是指Schema中声明的元素数目)呈指数级增长.但是,这只是针对简单查询,并且,DFA中的每一个状态都对应于NFA中的一组状态.XPush[19]将一组查询转换为单个确定下推自动机,称为XPush机.该方法首先将每一个XPath 表达式转换为等价的交替有限自动机(alternating finite automaton,AFA),XPush在简单谓词表达式的基础上,增强了对基于值的谓词的处理.它可以共享谓词中的某些共同部分,从而优化多查询处理.同一些基于自动机的方法一样,随着XPath的增加,状态数目会呈指数级增长.为此,它也采用懒惰构造的方法在运行时构造XPush机,使得需要的内存减少到1-R k+11-R,其中,n表示查询的数目,R表示谓词的选择性,k表示每一个查询包含的谓词数目.然而这种情况下,当首次发现并计算该状态时运行代价很高.对于上述方法,有两点需要指明:1)它们支持递归文档,但都只是支持XPath的常见子集,例如/P P0、/P0、/[]0、/*0;2)除了XFilter,都考虑了在同时处理大量查询的情况下,如何进行多查询优化.参考文献[20]提出一个支持前向轴和反向轴的流处理算法@R O F.XSQ[5]系统基于层次的下推转换器(H PDT,实际上是扩充了缓存的有限状态机).其状态的数目随着查询长度(或查询中出现的谓词次数)呈指数级增长.XSQ支持较强的查询能力,例如聚合操作等,但不支持递归、嵌套的XM L文档,只支持简单的结构谓词和基于值的谓词.SPEX[15]基于一个转换器网络,与XSQ的H PDT类似.它支持水平轴或反向轴,但它不支持聚合操作.就第2)点而言,还有一些只支持单个查询的系统,但支持的是XQuer y的子集.XSM[21]是一个支持XM L流的XQuer y处理引擎,将一个XQuery编译为一组XM L流处理机(称为XSM s,实际上是将有限状态机和缓存结合起来).XSM支持XQuery的子集1724计算机研究与发展2009,46(10)(父子轴、祖先后裔轴和基于值的谓词),但不支持递归、嵌套的XML 文档.RAINDROP 将基于自动机的处理和基于元组的处理结合起来,用统一的代数模型来表示,以优化查询处理.我们可以将其看作是对基于自动机方法的一种改进.3 基于索引的方法IndexFilter [8]称为基于索引的方法.它根据预先计算的XM L 文档的索引进行查询处理,从而避免了处理一部分肯定与任何查询不匹配的部分XM L 文档.该方法利用前缀树来共享所有查询的公共前缀,以同时处理多个XPath 查询,如图3(a)和图3(b)所示.为了强调获得每一个查询表达式的所有匹配,该方法对查询(前缀共享树)中的每一个节点q 都关联下列信息:1)一个索引流T q ,它包含匹配q 的文档节点的索引位置(按区间编码起始位置排序,包含左值、右值以及层次);2)一个运行时栈S q ;3)一个优先级队列P q ,它允许动态访问流中具有最小左值的孩子.栈S q 中的每一个元素都包含两部分:一个是XM L 文档中的节点;一个是指向其父亲栈位置的指针.该栈记录了XML 流从根到给定文档元素的所有匹配.采用类似路径栈[22]的思想,在算法的执行过程中,利用文档节点的区间编码,保证一个栈中的节点一定处于XM L 文档中的一条路径上(根到叶子节点),一组栈包含了查询的部分或全部匹配.它只考虑了简单查询,不支持对谓词的处理;从性能来讲,该方法要对整个XM L 文档进行扫描并进行缓存,随后根据区间编码建立索引,这样做有两个缺点:其一,建立索引要花费一定的时间代价,其二,缓存整个XM L 文档要花费的一定空间代价.与YFilter 相比,他们通过实验表明,当查询数量相对较小并且XM L 文档相对较大时,Index Filter 更加有效(在不考虑建立索引所花费的代价的前提下);当查询数量相对较大并且XM L 文档相对较小时,YFilter 更加有效.Fig.3 Index -based metho d (Index Filter).(a)P ath Quer is;(b)Pr ef ix T ree;(c)A nsw er fo r Q 3;and (d)Stack Encoding fo r Q 3.图3 基于索引的方法(Index F ilter ).(a)路径查询;(b)前缀树;(c)Q 3的应答;(d)Q 3的栈编码4 基于序列的方法这类方法的共同特点是将XM L 查询转换成某种类型的串或序列,然后进行查询匹配的处理.例如FiST[7],XTrie[18]等.贝尔实验室的Chan 等人利用Xtr ie 索引结构来处理XML 流,将一个XPath 表达式分解为一组子串,其中每一个子串是一个由/P 0连接起来的元素标记序列.如果每一个子串都是最大长度的,则称为最小分解.参考文献[18]利用/懒惰0XTrie 的优化技术来减少不必要的索引探针(index probes)的数目,与XFilter 相比较具有相对较好性能.类似于XFilter,它支持XPath 表达式的子集是:/P 0、/P P 0和简单的谓词,另外,它还支持follow ing -sibling 轴,需要对XML 流进行两遍处理.亚利桑那州立大学开发的FiST 系统将twigpattern 和XM L 文档均转换为Pr fer 序列,从而将文档流和tw ig pattern 之间的匹配转换为两个序列之间的匹配.FiST 将一个tw ig pattern 完整地转换为一个Pr fer 序列,而后进行整体性查询匹配;同时,FiST 利用动态散列表建立对tw ig pattern 的索引,其性能优于YFilter.但是,FiST 在进行多查询处理时,未考虑多个XPath 间公共部分的共享.最近,H o u [23]等人提出另一种基于序列的方法.他们将XM L 文档转换为元组,而将每一个XPath 表达式转换为一个谓词的有序集合,并在此基础上进行查询匹配.这里进行查询的每一个谓词都是元组(属性,操作符,值).更形式化地讲,可以将一个XPath 表达式表示为s:(a 1;o 1;v 1)y (a 2;o 2;v 2)y ,y (a n ;o n ;v n ),其中,a i 表示标记名变量或一对标记名变量,o i 表示一个关系操作符,y 表示顺序关系,v i 表示标记的位置.例如,a P *b P P c 转换为(d(p a ;p b );1725杨卫东等:XM L 流管理研究综述=;2)y(d(p b;p c);>;1).它表示该表达式由两个谓词组成,第1个谓词表示p a和p b之间距离为2;p b和p c之间距离大于1.而对于XML文档,则转换为一组元组,其中,每一个元组表示文档种的一条路径.该方法同样对谓词进行索引,使得可以共享谓词之间的公共部分.该方法通过实验与YFilter 等进行了比较,在匹配率比较高时性能优于YFilter,而在匹配率比较低时,YFilter的性能优于该方法.5查询优化技术前面讨论的方法都在某种程度上通过优化来提高XML流查询的效率,例如,YFilter,IndexFilter, AFilter等通过共享多个查询之间某些公共部分来进行多查询优化;XM LT oo lkit[4]使用二进制数据预先编码XML的部分结构信息来帮助流处理引擎略去部分无关元素;参考文献[24]根据同样的思想,用基于预先计算的视图来加速XM L流数据的处理.这里重点讨论基于XM L模式的优化和缓存管理的优化.5.1基于XML Schema或DTD的优化现有的XM L流处理方法中,/P P0和/*0的出现会引入处理时的不确定性和复杂性.例如,YFilter 中的NFA状态表的大小随着/P P0的数目指数级增长.在一些应用中若利用XML文档的模式(XM L Schema或DTD)简化XM L流处理,例如去除路径表达式中的*和部分P P等,可以减少系统查询处理的空间和时间[12].另外,还可以利用以下规则进行简化:父子规则(如果一个元素一定有一个子元素作为它的孩子,则它与该子元素满足父子规则);子孙规则(如果一个元素一定有一个子元素作为它的后代,则它与该元素满足子孙规则);兄弟规则(如果一个元素有一个子元素作为其孩子,那么一定有该子元素兄弟作为其孩子);排斥规则(如果一个元素有一个子元素作为其孩子,那么一定不会有另外的子元素作为其孩子);另外,还包括支持谓词逻辑短路运算的/与规则0和/或规则0.RAINDROP的较新工作[25]采用的是类似的方法(称为语义查询优化).它针对的是XQ uery.考虑了对/*0和/P P0的优化,提出了3种规则:出现规则(表示一种类型节点在另一种类型节点中的出现次数);排斥规则(与上面的排斥规则相同);顺序规则(约束元素出现的顺序).证明了规则的完备性(没有遗漏的规则)和最小性(没有冗余的规则).直接将这些集成在他们的XM L流处理引擎当中,用于对查询计划的优化.RAINDROP的最新工作R-SOX[26]考虑了如何利用动态变化的XML Schem a信息来优化XML 流处理.它通过标注的方式将动态的Schem a变化嵌入到XM L流中;然后,XML流查询处理引擎利用这些信息对查询处理和缓存管理进行优化.还有其他一些研究也初步涉及了基于DT D的优化. YFilter和XSM讨论了XM L流环境下的基于DTD的优化.他们利用DT D的相关知识来确定一个模式的查询结果是否是递归的以及会遇到什么类型的元素.参考文献[18]以及XPush基于DTD考虑了顺序约束.FluXQuery[16]的目标是利用Schema 的知识将缓存的大小减到最小.5.2缓存管理方法图4为XQuer y查询示例:for$b in doc(/P bib.xml0P P b ookw here$b P pubisher P text()=/Addis on-W es ley0and$b P@year>1991retu rnòbookó{$b P title}{$b P@year}òP bookóFig.4A sample XQ uer y.图4X Query查询示例参考文献[27]指出,对于纳斯达克的实时股票行情服务系统,假定每秒到达的消息个数是5000个,消息的数据量是1KB,用户查询的数量是1000万个,查询的平均匹配率是0.001%,则结果集的数据量可能达到大约每秒4GB.因而缓存管理的研究应该引起重视,它对系统的空间耗费和运行时间有着重要的影响.如图4所示,查询要求列出Addison-Wesley出版社在1991年后出版的书的名字和出版时间.在遇到/title0时,并没有足够的信息来判断/year0是否满足条件,因此,需要先将/title0缓存起来,并将/title0和/year0组成的元组返回给用户.参考文献[17]针对XM L流,系统地研究了XPath的缓存管理问题.他们针对具有谓词的XPath表达式,考虑缓存所需的最小边界.他们给出处理非递归XM L流的算法,并指出一个只包含前向轴的XPath查询在处理非递归文档时的空间和时间复杂度.该研究没有考虑算法在同时处理多个XPath查询时的时间和空间复杂度.另外,也没有考1726计算机研究与发展2009,46(10)虑XQuery查询.XSQ也初步讨论了针对XPath的缓存管理问题.它使用缓存区暂存可能的结果,其缓存操作是由自动机驱动的.在某个状态转移发生时,如果转移关联有某个缓存操作,则执行在缓存加入元素的操作.当一个文档中的多个片段满足某个查询时,XSQ为每个匹配建立一个缓存项,其内容是该元素的一个拷贝.XSQ指出,在遇到第1个定位步的结束事件时,缓存中的所有项都可以确定其是否是最终的结果,因此,缓存中的最大元素数不超过XM L流中最大元素所包含的子节点数目.FluX[16]系统使用XML流的DTD模式来减少XQuer y计算时的缓存耗费.RAINDROP使用代数模型的方法来管理缓存.需要指出的是,这些研究工作都只能够处理单个查询的查询匹配和缓存管理,而没有能力同时处理多个查询.6总结XM L流管理仍存在一些需要进一步解决的问题,例如:1)需要进一步增强XM L流管理系统处理复杂查询的能力,例如在线数据分析需要支持更强的查询能力,包括聚合函数、用户自定义函数、统计等;由于流处理环境的约束,通常采用近似查询[28-29].2)绝大多数现有研究都支持的是XPath P XQ uery查询语言,这对于W eb上的普通用户来讲存在诸多困难:一般用户难以学习;用户在不知道XM L流的DT D时,很难给出准确的查询.在XM L 查询方面,基于关键字的数据库检索则是近年来新的研究热点[30].XM L流上的关键字查询则是一个新的研究点,目前相关研究还比较少[14].3)采用分布式体系结构有助于在高负载的情况下通过多个节点的分布处理以获得更好性能和可伸缩性.目前关于将分布式XM L流管理的研究相对较少[10,31],并且不够全面,例如,查询的分割问题、数据分发的均衡问题、容错机制等也需要进一步研究.参考文献[1]Bab cock B,Babu S,Datar M,et al.M odels and issues indata s treams[C]P P Popa L.Proc of the21st ACM SIGAC T-SIGM OD-SIGART Sym p on Principles of Datab ase S ystem s.New York:AC M,2002:1-16[2]Altin el M,Franklin M J.Efficien t filtering of XM Ldocumen ts for selective dissemination of inform ation[C]P PProc of VLDB2000.San Fran cisco,C A:M organKaufman n,2000:53-64[3]Yanlei Diao,M ehm et Altin el,et al.Path sharing andp redicate evaluation for high-performance XM L filtering[J].ACM T rans on Database System,2003,28(4):467-516 [4]Green T J,M ik lau G,Onizuk a M,et al.Proces sing XM Ls treams w ith determin istic au tomata and stream indexes[J].ACM T rans on Database S ystems(T ODS),2004,17(4):752-788[5]Feng Peng,S udarshan S,Ch aw ath e.XS Q:A streamingXPath engine[J].ACM T rans on Database S ystems,2005,30(2):577-623[6]S u H ong,Jian J inhui,Ru nden steiner Elke A.RAINDROP:A uniform an d layered algebraic fram ew ork for XQueries onXM L streams[C]P P Pr oc of C IKM p03.New York:ACM,2003:279-286[7]J oon ho Kw on,Praveen Rao,Bongk i M oon,et al.FiS T:S calab le XM L docum ent filtering by sequ encin g tw ig patterns[C]P P Proc of VLDB.New York:ACM,2005:217-228[8]Brun o N,Gravano L,Koudas N,et al.Navigation-vs.in dex-based XM L m ultiquery processing[C]P P Proc of ICDE2003.L os Alamitos,CA:IEEE Computer Society,2003:139-150[9]u k Candan K Selc,H siung W angPin,Ch en Songting,et al.AFilter:Adaptable XM L filterin g w ith Prefix Caching andS uffixClusterin g[C]P P Proc of VLDB p06.New York:ACM,2006[10]Zhou Xin,Thakk ar H etal,Zaniolo Carlo.Un ifying thep roces sing of XM L stream s and relational data streams[C]P PProc of the22nd Int Conf on Data En gineering.LosAlamitos,CA:IEEE Com puter Society,2006:50-62[11]Gong Xueqin g,Qian Weining,Yan Ying,et al.Bloom filter-b as ed XM L pack ets filterin g for millions of path queries[C]P P Proc of ICDE.Los Alamitocs,CA:IEE E C om puterS ociety,2005:890-901[12]Gao Jun,Yan g Dongqing,Tang S hiw ei,et al.T ree-automata based efficient XPath evaluation over XM L datas tream[J].Journal of S oftw are,2005,16(2):223-232(inC hines e)(高军,杨冬青,唐世渭,等.基于树自动机的XPath在XM L数据流上的高效执行[J].软件学报,2005,16(2):223-232)[13]Yang Weidong,Wang Qin gming,Shi plex tw igpattern query processing over XM L stream s[J].Journ al ofS oftw ar e,2007,18(4):893-904(in C hinese)(杨卫东,王清明,施伯乐.针对XM L流数据的复杂Tw igPattern查询处理[J].软件学报,2007,18(4):893-904) [14]W an g Xiaofen g,Zhang Xin,Xie M in,et al.Keyw ord s earchon XM L streams[J].Journal of Computer Res earch andDevelopment,2006,43(Suppl):484-489(in Chin ese)(王小峰,张新,谢敏,等.XM L数据流上的关键字检索[J].计算机研究与发展,2006,43(增刊):484-489)1727杨卫东等:XM L流管理研究综述。
XML文件格式的特点
XML文件格式的特点XML(eXtensible Markup Language)是一种被广泛应用于数据交换和存储的文件格式。
它的特点包括以下几个方面:1.可扩展性:XML是一种可扩展的标记语言,用户可以根据自己的需求定义自己的标记,通过这种方式适应不同的应用领域和需求。
2.可读性:XML采用了纯文本的格式,因此可以被人类和计算机轻松阅读。
4.自描述:XML文件包含了数据本身的描述信息,包括元素、属性和命名空间等。
这种自描述性使得数据的含义和结构可以被理解和使用。
5.平台无关性:XML是一种独立于平台和操作系统的文件格式,因此可以在不同的操作系统和设备上进行交换和存储,方便了数据的共享和互通。
6. 可扩展样式表:XML可以使用XSL(eXtensible Stylesheet Language)来定义样式表,使得数据的展示和呈现更加灵活和美观。
7. 可性:XML文件可以使用XPath(XML Path Language)来进行查询和,这样可以方便对大规模XML文件进行数据提取和分析。
8. 可解析性:XML文件可以使用各种编程语言和解析器进行解析和操作,包括DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)等。
9. 扩展性:XML格式可以通过Schema(XML Schema Definition,XSD)进行验证和约束。
通过定义Schema,可以规定XML文件的结构和数据类型等约束,使得数据的合法性和一致性得以保证。
10. 与Web技术的兼容性:XML广泛应用于各种Web技术中,例如SOAP(Simple Object Access Protocol)、Web Services、RSS(Really Simple Syndication)等。
XML与Web技术的结合使得数据的交换和传输更加方便和可靠。
数据库技术发展综述
数据库技术发展综述数据库技术主要研究如何存储、使用和管理数据, 是计算机技术中发展最快、应用最广的技术之一。
作为计算机软件的一个重要分支, 数据库技术一直是倍受信息技术界关注的一个重点。
尤其是在信息技术高速发展的今天,数据库技术的应用可以说是深入到了各个领域。
当前, 数据库技术已成为现代计算机信息系统和应用系统开发的核心技术, 数据库已成为计算机信息系统和应用系统的组成核心, 更是未来/ 信息高速公路0 的支撑技术之一。
因此,为了更好的认识和掌握数据库技术的发展方向, 本文对有关数据库发展的文献进行了收集整理, 以求在对现有相关理论了解、分析的基础上, 对数据库发展进行综合论述,对数据库技术发展的总体态势有比较全面的认识, 从而推动数据库技术研究理论的进一步发展。
1 文献的收集与整理对数据库发展文献的收集主要利用以下检索工具: 中国学术期刊网全文期刊库、维普中文数据库, SC I数据库以及网络搜索引擎Google。
文献收集的范围: 1993 ~ 2003年国内外相关文献。
检索策略及结果如表1所示。
其中,学术期刊网和维普中刊数据库有两条相同记录, 搜索引擎Google两次搜索与高级搜索的最终结果有部分重复记录。
整理最终结果: 收集到相关文献23条,全部可以下载全文。
从SCI数据库中检索到505条相关记录,但其中最相关的题录信息仅24条。
2数据库技术发展的现状关系数据库技术仍然是主流关系数据库技术出现在20世纪70年代, 经过80年代的发展到90年代已经比较成熟,在90 年代初期曾一度受到面向对象数据库的巨大挑战, 但是市场最后还是选择了关系数据库。
无论是Oracle公司的Oracle9i、IBM公司的DB2、还是微软的SQL Serv er 等都是关系型数据库。
Gar tnerDataquest 的报告显示关系数据库管理系统(RDBMS) 的市场份额最大, 2000 年RDBMS的市场份额占整个数据库市场的80 % , 这个比例比1999年增长了15 % 。
基于XML的信息检索的研究-开题报告
毕业设计开题报告毕业设计开题报告毕业设计开题报告附件:参考文献格式1.对论文所引用的文献,要按它们在文中出现的先后,在文献的著者或成果叙述文字·1981年日本仅给出了扁平车轮冲击钢轨的垂直冲击速度公式[1]·薛杜普等[2]·文献[2·定理的证明见文献[3引用多篇文献或同一著者多篇文献时,只需将各篇文献的序号在方括号内全部列出,各序号间用“,”分开;如遇连续序号,可用“~”连接,略去中间序号。
例如:·早期的研究结果[2,4,6-9]2.(1) 书或专著[序号]著者.书名[M].版本(第1版不标注).出版地:出版者,出版年.引文所在的[1]翟婉明.车辆-轨道耦合动力学[M].北京:中国铁道出版社,1997.74—80[2]纳霍德金M Д[M].北京:中国铁道出版社,1983.21-25.[3]Eisson H N.Immunology:an introduction to molecular and cellular principles of the immune respones[M].5th ed. New York:Harper and Row,1974.3-6.(2)期刊(连续出版物)[序号]著者.题(篇)名[J].刊名,出版年,卷号(期号):引文所在的起始或起止页[1]史峰,李致中.铁路车流路径的优选算法[J].铁道学报,1993,15(3):70[2]You C H, Lee K Y,Chey R F, et al. Electrogastrographic study of patients with unexplained nausea, bloating and vomiting[J].Gastroenterology,1980,79:311-314.(3)[序号]析出文献著者.题(篇)名[A].见(英文用In):原文献著者.论文集名[C].出版地:出版者,出版年.[1]张玉心.重载货车高摩擦系数合成闸瓦的研制和应用[A].见:中国铁道学会编译.国际重载运输协会制动专题讨论会论文集[C].北京:中国铁道学会,1988.242[2]Hunninghaks G W,Gadek J B,Szapiel S V ,et al.The human alveolar macrophage[A].In:Harris C C ed.Cultured human cells and issues in biomedicalresearch[C].New York:Academic Press,1980.54-56.(4)[序号]著者.题(篇)名[D].保存地点:保存单位,年份.[1]党建武.神经网络方法求解组合优化问题的研究[D].成都:西南交通大学,1996.20-25.(5)[序号]专利所有者.题名[P].[1]曾德超.常速高速通用优化犁[P].中国专利:85203720.1,1986-11-13.(6)[序号]标准编号(标准顺序号-发布年),标准名称[S].[1]GBJ111-87,铁路工程抗震设计规范[S].(7)[序号]主要责任者.文献题名[N].报纸名,年-月-日(版次)[1]李四光.中国地震的特点[N].人民日报,1988-08-02(4).(8)[序号]著者.报告题名[R].[1]朱家荷,韩调.铁路区间通过能力计算方法的研究[R].北京:铁道部科学研究院运输及经济研究所,1989.34.(9)[序号]主要责任者.电子文献题名[电子文献及载体类型标识].电子文献的出处或可获得地址,发表或更新日期/引用日期(任选).[1]王明亮.关于中国学术期刊标准化数据库系统工程的进展[EB/OL]./pub/wml.txt/980810-2.html,1998-08-16/1998-10-04.[2]万锦坤.中国大学学报论文文载(1983-1993).英文版[DB/CD].北京:中国大百科全书出版社,1996.(10)[序号]主要责任者.文献题名[Z].出版地:出版者,出版年.。
纯XML数据库研究综述
a de c a g nItr e.W i h meg n eo o fXMLd c me t, o t n g n u r h m f cieyh s e n n x h n eo nen t t tee re c falt h o o u ns h w ma a ea dq eyte ef t l a e o e v b
维普资讯
20 年第 6 06 期
冯建华等 : X L数据库研究综述 纯 M
纯X ML数 据 库 研 究 综 述 术
冯建华 ,钱 乾 ,廖雨果 ,李 国 良,塔 娜 ,周立柱
( 清华大学 计算机科学与技术 系, 北京 1 04 0 8) 0
摘 要 :虽然 X 是 一种 专 门为 I e e所设 计 的标记 语 言 , 是 它 已经成 为 I e e上 数 据 表 示 和数 据 交换 ML nr t tn 但 nr t tn
则交 给另外 的技 术来解 决 。虽 然 X L是 一种 专 门为 It c M ne t a r
( ) yr M a bs( X , 混 合 X L数 据 库 。 3 H b dX LD t a H D) 即 i a e M 根据应用 的需求 , 以视其为 X D 或 N D的数 据库 , 型的 可 EB X 典
( et f o p t c n & Tc o g , s g u n e i , Dp .o C m u r i c e S e e e nl y T n h aU i rt h o i vs y 10 8 , h a 004 C i ) n
Ab ta t A h u h XML i a s e ilma k p l n u g o n en t th s b e e o h t n a d fr d t e r s n ai n sr c : h o g p ca s r u a g a e frI t r e ,i a e n b c me t e sa d r a a r p e e tt o o
基于视图的XML重写技术的研究综述
200390年.卷第12月L2SJR微OO计MRAPPLICATIONS2009年12月V01.30Nn12Dec.2009基于视图的XML重写技术的研究综述张娟聂华北牛熠(东莞理工学院城市学院东莞523106)摘要:支持正则路径表达式的查询技术,被认为是半结构化数据模式下的XML查询研究领域中一种颇具有研究价值的XML查询计算方法。
基于视图的查询重写技术充分利用视图中的信息来对查询进行优化,提高查询效率。
本文讨论了对于支持正则路径表达式的XML查询如何进行重写的问题以及对不同技术的分析。
关键词:视图ⅪⅡL查询XML重写正则表达式Research&AnalysisRewritingTechnologyBasedontheXMLViewZHANGJuan,NIEHuabei,NiuYi(CityCollegeofDongGuanUniversityofTechnology,Dongguan,523106,China)Abstract:ThequerytechnologysupportingregularpathexpressionisconsideredmuchvalueinaquiteareaofresearchstudiesoftheXMLquerymethodinsemi—structureddatamodelofXMLqueries.View—basedqueryrewritingtechniquestakefulladvantageoftheinformationinviewtooptimizethequerytoimprovethequeryefficiency.ThisarticlediscussesandanalysisXMLqueryrewritingques・tionwhichsupportforthepathexpression.Keywords:XMLView,XMLqueryrewriting,r;egularexpressions随着越来越多的信息用XML来存储、交换和表示,智能地查询XML数据源的能力变得越来越重要,因此关于XML查询技术的研究受到越来越多的重视。
纯XML数据库研究综述
! / 引言
( %"&%’()*+% #,-./0 $,’1/,1% ) !> ! / 认识 "#$ 123 是一种专门为 4.567.65 所设计的标记语言。 123 的 重点是管理信息的数据本身, 而不是数据的样式, 数据的显示 则交给另外的技术来解决。虽然 123 是一种专门为 4.567.65 所设计的标记语言, 但是它已经成为 4.567.65 上数据表示和数 据交换的标准。随之而来的是堆积如山的 123 文档, 如何对 这些 123 文档进行有效管理与快速查询, 是当前学术界的研 究热点, 即所谓的 123 数据库。 !> 2 / "#$ 数据库与 "#$ 文档 所谓数据库就是一组相互有关联的数据集合, 而 123 数 据库是一个 123 文档的集合, 这些文档是持久的并且是可操 作的。目前 123 数据库有三种类型 ( 参阅 H55W: _ _ ^^^\ [XRZJ\ C7Q _ D9-F\ H5XR) : (&) 123 L.9JR6Z I959J9F6 ( 1LI‘) , 即能处理 123 的数据 库。其特点是在原有的数据库系统上扩充对 123 数据的处理 功能, 使之能适应 123 数据存储和查询的需要。一般的做法 是在数据库系统之上增加 123 映射层, 这可以由数据库供应 商提供, 也可以由第三方厂商提供。映射层管理 123 数据的 存储和检索, 但原始的 123 元数据和结构可能会丢失, 而且数 收稿日期:!""#$ "%$ "% ;修返日期:!""#$ &&$ "’ 基金项目:国家自然科学基金资助项目 ( ("#)’"%* ) ; 清华大
基于XML的统一数据库平台的研究
. ・ 如
基于 X ML的统一数据库平台的研究
崔巍
( 北京信息1程学院 北京 100 ) 0 11
摘 要 (前 X L 据 的 究 要 两 思 一 研 纯 M 数 库 称 NX 二 依 于 : 对 M 数 库 研 主 有 种 路 是 究 XL 据 , 作 D; 是 托 关 目
2 M 数据库要解决的基本问题 X L
Ie e上的 数据库各种各样, nrt tn 并且大部分都是关系数据库, 由于数据库是异构的, 所以 给数据交换带来很多困 而X L 难, M 技术的 诞生就是为了 统一不同 格式的数据, 实现不同系统 之间的信息共享, 增加系统价值。 那么随之而来的问 题是大量新产生的X L M 数据和文档如何 管理, 又如何查询。 答案当然是建立X L M 数据库。 如何利用关系数据库存储X L M 数据和文档, 何利用关系数据库直接支持X L 如 M 数据查 询, 最终建立一个基于X L 统一的Ie e数据库平台是数据库研究者和数据库厂商这 M 的、 nrt t n 几年致力于研究的问题。 X L数据库的内 M 部存储模型应该与X L文件层次模型一致, M 存取 X L文件时, M 无需 将其拆散1 重组, 这样才更加灵活高效。同时还要具有事务管理、安全、多用户访问、 编程 A I 查询语言等传统数据库技术, P和 还要支 持W3 C关于X L M 技术的 最新标准。 一般X I 数据库研究的 M‘ 具体内 容包括以下几个方面: M 数据的 X L 存储技术, M 数据 X L 的索引技术,M 数据的解析和内 X L 容管理技术, 基于X L 数据交互和数据集成技术及X L M 的 M 数据的查询和发布技术。
Ree rh Unfr Daa ae sa c o f i m tb s o En io me t sd XM L vr n n Ba e o n
XML在关系数据库中存储技术研究的开题报告
XML在关系数据库中存储技术研究的开题报告摘要:XML(Extensible Markup Language)是一种用于描述数据的标记语言,被广泛应用于互联网上的数据交换和数据存储中。
随着XML的应用范围不断扩大,如何在关系数据库中存储XML数据成为了研究的热点问题。
本文从XML的特点出发,阐述了在关系数据库中存储XML数据的意义和挑战,并分析了目前主流的XML存储技术,包括将XML 数据存储为文本、存储为二进制、存储为对象以及使用特殊的XML数据库等。
最后,本文提出了基于对象的存储方式在处理XML数据方面的优越性,并对进一步的研究方向进行了展望。
关键词:XML;关系数据库;存储技术一、研究背景XML是一种用于描述数据的标记语言,它使用简单的文本格式描述结构化数据,并可扩展性强,被广泛应用于Internet上的数据交换。
随着XML的应用得到不断扩大,如何在关系数据库中存储XML数据成为了研究的一个热点问题。
传统的关系数据库如Oracle、MySQL等不支持直接存储XML数据,需要将XML数据转化为关系数据(文本、二进制或对象)存储。
因此,如何处理和存储XML数据在关系数据库中成为了一个挑战。
二、XML在关系数据库中存储的意义XML是一种可以描述各种结构的数据的标记语言,与关系数据库中的表、行、列相比,XML具有更多的灵活性。
XML文档可以根据需要添加、删除或修改各自的元素和属性,也可以根据需要添加或删除整个分支。
因此,在关系数据库中存储XML数据可以让用户更加自由地存储和查询数据。
同时,XML具有强大的自我描述性,允许数据与其自身的描述关联在一起。
这个特性使得XML更适合于存储复杂的数据结构和大量的元数据。
因此,XML在关系数据库中的应用也可以增强数据的可扩展性和可维护性。
三、XML在关系数据库中存储的挑战在关系数据库中存储XML数据也有一些挑战和难点。
首先,XML文档本身就很大,其中可能含有大量的嵌套和重复的结构。
现代数据管理技术综述——XML数据管理及XML在VC++、Web中的应用
第 二 代 : 系 ( ea oa) 关 R lt n1数据 库 一 流行 的 R B i D MS有 : rc , O al e
S bs, y a e
Ifr i。 Q e e, oPo ec; nom x S LS r rF x r, t.技术成熟 、 v 应用广泛 ; 数据 管理 能 力 强 ( 括 存 储 、 索 、 改 等 ) 数 据 安 全 程 度 高 ; 包 检 修 ; 稳
6 O年 代 :
够 容 纳 更 丰 富 的信 息 资 源 。 其 中元 数 据 管 理 、 义 透 明性 和 自主 语 主体 都 是 XM L所 独 有 的 概 念 , X 而 ML对 统 一 结 构 化 语 法 和 半 结 构 化 语 法 的 承诺 。 有 助 于把 几 乎 不 可 能 完 成 的 事 变 成切 实 可 行 将
文 件 系 统 (i yt ) 5 代 中 ~6 代 中后 ; Fl Ss ms: 0年 e e O年 数 据 库 系统 ( aaaeSs m )6 D tbs yt s: 0年 代 后 一至今 ; e 数 据 库 技 术 的发 展 以采 用 的 数 据 模 型 ( a d 1来 划 分 : D t Mo e) a 第 一 代 : 次 (irrh a) 据 库 & 网状 (e ok 数 据 库 一 层 hea i 1数展 阶 段 :
空 间小 、 索 速 度 快 、 改 效 率 高 、 全 性 好 等 优 点 , 客 观 上 需 检 修 安 但 要 用 一 种 应 用 方 式 将 其 丰 富 的 数 据 有 效 地 发 布 出来 , 以消 除平 台 差异 、 增强 语 义 描 述 功 能 、 低 环 境要 求 。 降 当前 主 流 的 数 据 库 产 品 都宣 布 了对 XM L的 支 持 。 X ML的 最 突 出的 特 点 就 是 功 能 强 大 又 易 于 使 用 , 它使 网 页 能
Native XML数据库关键技术综述
中图法分 类号 :P 1. 2 T 31 3. 1 4
文献标 识码 : A
文章编 号 :0072 (07 O. 2. 10. 420) 1 04 5 0 0 0
S r e nk y t c n lg e f t eXM L d tb s u v y o e h o o i so i e Na v aa a e
渠本 哲 , 王潜 平
( 国矿 业 大学 计算 机科 学与技 术 学 院, 江苏 徐 州 2 10) 中 208
摘 要 : t e ML数据库 是一种根 据 X Na v X i ML数 据 的特点 专 门设 计的 用于存储 和管 理 X ML数据 的新 型数据 库 。 介 绍 N t e 在 ai v
X ML数据库 系统 的特征 和体 系结构 的基 础上 , 其存 储机 制 、索引和 查询技 术 、 务管理 等 关键 技术 进行 了深入 细致 的研 对 事
究和讨论 , 最后针 对具体 的 Nav XML数据 库 系统 在这 些方 面的 实现机 制作 了相 应 的对 照和分析 。 te i
关键词 : 可扩展标 记语 言;数据 库:D M;索 引; 事务管 理 O
维普资讯
第 2 卷 第 1 8 期
Vo. 128
NO. 1
计算 机 工程 与 设 计
Co p trE gn e nga sg m ue n ie r ndDe in i
20 年 1 07 月
J n.2 0 a 0 7
N t e ML数据库关键技术综述 av i X
Q Be—h , WANG a—ig u nze Qinpn
( ol e f o p tr c n e n eh ooy hn nv rt f nn dT c oo ,X z o 2 8 h a C l g m ue i c dT cn lg,C i U i syo i a eh l e oC Se a a ei Mi g n n g y uh u2 0 ,C i ) 1 0 n
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
纯XML数据库研究综述【摘要】虽然XML是一种专门为Intemet所设计的标记语言,但是它已经成为Internet 上数据表示和数据交换的标准。
如何对XML文档进行有效管理与快速查询是当前学术界的研究热点,即所谓的XML数据库。
主要对当前XML数据库的研究现状与发展趋势进行全面的论述与分析,并对其中尚未解决的挑战性问题进行了客观的评价与分析。
【关键词】扩展标记语言;XML数据库;NativeXML数据库;存储策略;查询优化;X —代数1 引言1.1 认识XML(extensibleMarkupLanguage)XML是一种专门为Intemet所设计的标记语言。
XML的重点是管理信息的数据本身,而不是数据的样式,数据的显示则交给另外的技术来解决。
虽然XML是一种专门为Internet 所设汁的标记语言,但是它已经成为Intemet上数据表示和数据交换的标准。
随之而来的是堆积如山的XML文档,如何对这些XML文档进行有效管理与快速查询,是当前学术界的研究热点,即所谓的XML数据库。
1.2 XML数据库与XML文档所谓数据库就是一组相互有关联的数据集合,而XML数据库是一个XML文档的集合,这些文档是持久的并且是可操作的。
目前XML数据库有三种类型(参阅http://www.xmldb.org /faqs.html):(1)XMLEnabledDatabase(XEDB),即能处理XML的数据库。
其特点是在原有的数据库系统上扩充对XML数据的处理功能,使之能适应XML数据存储和查询的需要。
一般的做法是在数据库系统之上增加XML映射层,这可以由数据库供应商提供,也可以由第三方厂商提供。
映射层管理XML数据的存储和检索,但原始的XML元数据和结构可能会丢失,而且数据检索的结果不能保证是原始的XML形式。
XEl)B的基本存储单位与具体的实现紧密相关。
(2)NativeXMLDatabase(NXD),即纯XML数据库。
其特点是以自然的方式处理XML数据,以XML文档作为基本的逻辑存储单位,针对XML的数据存储和查询特点专门设计适用的数据模型和处理方法。
(3)HybridXMLDatabase(HXD),即混合XML数据库。
根据应用的需求,可以视其为XEDB 或NXD的数据库,典型的例子是Ozone(参阅http://www.ozone-db.org/frames/home/what.html)。
XML文档有两种类型:面向文档处理和面向数据处理,”。
面向文档处理的文档是利用XML 来获取自然(人类)语言的那些文档,如用户手册。
它们以复杂或无规则的结构和混合内容为特征,而且文档的物理结构非常重要。
这些文档的处理侧重于给用户提供信息的最终表示,因此它们也被称作面向表示的文档。
面向数据处理的文档主要利用XML来传送数据,这些文档包括销售订单、病人记录和科学数据等。
面向数据处理的XML文档的物理结构,如元素的顺序,或者数据被存储为属性还是子元素,通常不是很重要。
它们的特征是高度有序的结构,并且同时带有那些数据结构的多个副本,类似于关系数据库系统中的多条记录。
这些文档的处理通常侧重于应用程序间的数据交换,因此它们也被称作面向消息的文档。
这两类文档有时也简称为面向文档的(XML)文档和面向数据的(XML)文档。
面向数据处理和面向文档处理的XML文档之间的区别不大,然而文档上需要执行的操作是不一样的。
在一个面向文档处理的XML文档中,需要执行的操作包括检索整个文档、搜索关键词、修改一部分或重排一部分。
在一个面向数据处理的XML文档中,需要执行的操作包括检索文档的一个指定部分、搜索元素和数据的一个特定的结合、修改或删除一个简单的元素或一块简单的数据,或者给文档添加一个新元素。
1.3 XML数据库研究的问题与传统的关系数据库管理系统(RDBMS)一样,XML数据库管理系统也要解决XML数据的存储与查询处理问题,即存储引擎与查询引擎(同关系引擎一样,将其称为x-引擎)。
在X —引擎中主要研究XML数据的查询分解与优化,包括XML数据查询的代数表示,同关系代数一样。
将其称为x-代数。
2 XML数据库的存储策略分析首要问题是如何存储XML文档才是最好的?因为底层的存储表达对上层的查询处理和优化有着重要的性能影响”。
因此,要实现XML数据库,首先必须解决XML文档的存储问题。
根据已有的文献[3—6],XML数据库的存储策略目前主要有以下三种:利用文件系统的平面文件、利用成熟的RD-BMS、利用对象管理器或面向对象数据库管理系统(OOD—BMS)。
2.1 文件系统的平面文件方法XML文档本质—亡是序列化数据。
序列化数据通常采用平面文件的形式,即将每一个XML 文档分别存储在一个文本文件里”,并且实现一个查询引擎,当查询被执行的时候,XML文件被解析成驻留在内存的一棵树。
只要查询计算还需要树中的节点,这棵树就必须驻留在内存里。
一般来说,解析的时间左右着查询计算的时间,而且这种方法慢得令人无法接受。
为了提高这种方法的可用性,必须建立以下索引:利用XML元素在文本文件中的偏移量作为ID,建立从标记tag(Parent_off-set,Tag)映射到子偏移量Child_offset的路径索引以及从标记tag(Child_offset,Tag)映射到父偏移量Parent_offset的反向路径索引,这两个索引非常有利于遍历XML文档或在XML文档中进行导航。
而其他的索引建立从标记值(Tagname,Value)或属性值(Attribute_name,Attribute_value)到元素偏移量Element_offset的映射,这些索引有助于计算查询中的选择条件(谓词)。
查询引擎可以利用这些索引检索与查询相关的XML文件的片段,极大地减少了解析时间”。
平面文件数据库最大优点就是容易实现,而且不需要使用数据库系统和存储管理器。
但是,利用平面文件存储XML文档也有以下缺点:(1)每次访问XML文档时都需要解析它;(2)在查询处理期间,整个被解析的文件都必须驻留在内存里;(3)为了部分解决上述两个问题,可以在XML文档上建立外部索引。
但当XML文档被更新时,索引是难以维护的。
2.2 传统的关系数据库系统方法除了平面文件以外,还可以将XMI。
文档存储在传统的关系数据库系统里。
最近的研究成果说明了如何将XML文档映射并存储到关系数据库系统中。
这种方法的缺点是当前关系数据库系统与XML的负载不协调,而且通过诸如SQL的接口访问XML数据会招致与存储无关的额外负担。
2.2.1 利用关系的DTD方法利用关系的DTD方法是文献[6]建议的共享内嵌法,而且需要相应DTD的支持。
用一个独立的表来捕获具有相同标记的元素与其子元素集之间的包含关系,表中的每个元组都被赋予一个ID,而且该表还包含一个ParentlD列以标志该元组的父亲节点。
一个元素在描述它的元素表中只能出现一次,而且它的父节点内嵌为表的一列以便表示该元素的父亲。
如果描述XML文档模式的DTD图中包含环,则必须用一个独立的表来打破这个环。
在这种情况下,XML数据库的索引可以完全建立在上述各个关系表上。
2.2.2 利用关系的边的方法文献[4]描述了边的方法,将XML文档的有向图存储在单个Edge表中。
按照广度优先顺序赋予有向图中每个节点一个唯一的ID。
Edge表中每个元组对应有向图里的一条边,并且包含该条边所连接的两个节点的ID值,目标节点的标记(Tag)值以及一个/顷序号,该顺序号表示同一节点与其多个子节点对应边的顺序编码。
当元素只有一个文本子节点时,文本内容就内嵌到以该元素节点为目标节点的边所对应的元组里。
按照文献[4]的建议,建立在(Tag,数据)上的索引可以缩减选择查询的执行时间。
而建立在(源节点,顺序号)和(目标节点)上的索引也非常重要,前者用来查找给定元素的子元素,后者用来从给定的子节点向父节点遍历。
在Edge表上运用簇集策略对查询的性能也会有重要影响。
一般都会选择按照Edge表上的Tag字段进行簇集,使得具有相同Tag的元素存储在一起。
当然也可以选择按照“源节点”字段进行簇集,这种策略的好处是一个XML元素的所有子元素都存储在一起,因此重构原始的XML文档将非常快。
但它的缺点是具有相同标记名的元素没有被簇集,因此对于这样的查询:“把专业是计算机科学的所有学生都选择出来”将会导致大量的随机I/O。
而建立在Tag 字段上的簇集则表现出了较好的性能,但它对XML文档的重构没有任何好处。
2.2.3 利用关系的属性方法文献[4]还建议了另外一种所谓的属性方法。
它是按Edge表的Tag字段对边表进行水平划分,不同标记(指Tag字段的值)的元组存储在各自不同的表里。
这种方法以牺牲Edge表非常重要的属性Tag为代价而节省了存储空间。
对属性方法来说,查询处理器需要DTD来决定哪些表包含子元素,因为子元素的标记没有存储在表中。
需要注意的是,对于有很多XML 文档的一个大集,属性方法可能导致大量的表。
2.3 对象管理器方法在对象管理器里存储XML文档的明显方法就是把每一个XML元素存储成一个独立的对象”,但是由于XML元素通常都非常小,因此这种方法的空间开销高得令人不敢问津。
取而代之,把XML文档的所有元素存储在一个单独的对象里,而XML元素本身就变成了这个对象里的轻量级对象。
同时,文献[2]用1w_object,即记录来表示轻量级对象,而用file_ob-ject 表示代表整个XML文档的对象。
轻量级对象(1w_obiect)在文件对象(hle_object)中的偏移量(Offset)被用作该对象的标志(1w_oid)。
3 不同存储方法的分析与比较3.1 不同存储方法的优缺点比较平面文件是存储XML文档的最简单的机制,但一般不支持索引查询,也不容易修改文档。
关系型或面向对象数据库按照一定的粒度来存储XML文档,这使得对XML文档的访问比较容易也比较灵活,同时提高了查询和修改XML文档的效率,而且还可以方便地建立和维护各种索引。
3.2 不同存储方法的性能比较上面实际上介绍了存储XML文档的五种方法,文献[2]通过实验数据比较了这五种方法的性能。
实验使用两个数据集:第一个数据集包含250个XML文档,总共114MB;第二个数据集是ODP,总共140MB(参阅OpenDirectoryProject,ht-tp://www.dmoz.org/)。
实验所用的关系数据库为DB2V7.1,对象方法的底层利用系统Shoret…来实现;DB2和Shore 都配置使用30MB的内存缓冲池。
文本方法中没有缓冲池,其查询处理器使用所有可用的256MB物理内存;文本方法中的索引利用BerkeleyDB(参阅BerkeleyDBToolkit,http://www.Sleep-ycat.com/)来实现。