(计算机软件与理论专业论文)与postgresql无缝集成的纯xml存储方案设计与实现.pdf_第1页
(计算机软件与理论专业论文)与postgresql无缝集成的纯xml存储方案设计与实现.pdf_第2页
(计算机软件与理论专业论文)与postgresql无缝集成的纯xml存储方案设计与实现.pdf_第3页
(计算机软件与理论专业论文)与postgresql无缝集成的纯xml存储方案设计与实现.pdf_第4页
(计算机软件与理论专业论文)与postgresql无缝集成的纯xml存储方案设计与实现.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

(计算机软件与理论专业论文)与postgresql无缝集成的纯xml存储方案设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘以及论文全文浏览、下载等免费信息服务;( 3 ) 根据教育部有关规定,南开大学向教育部 指定单位提交公开的学位论文;( 4 ) 学位论文作者授权学校向中国科技信息研究所和中国学 术期刊( 光盘) 电子出版社提交规定范围的学位论文及其电子版并收入相应学位论文数据库, 通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文的权利。 非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。 论文电子版提交至校图书馆网站:h t t p :2 0 2 1 1 3 。2 0 1 6 1 :8 0 0 1 i n d e x h i m 。 本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并已通过论文答辩; 提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负。 本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。 作者暨授权人签字: 宝垡 2 0 1 0 年5 月2 7 日 南开大学研究生学位论文作者信息 论文题目 与p o s t g r e s q l 无缝集成的纯x m l 存储方案设计与实现 姓名宁华学号 2 1 2 0 0 7 0 3 0 0答辩日期2 0 1 0 年5 月2 1 日 论文类别博士口学历硕士硕士专业学位口高校教师口同等学力硕士口 院系,所信息技术科学学院 专业 计算机软件与理论 联系电话 e m a i l n i n s h u an k m a i l n a n k a i e d u c n 通信地址( s g 编) : 备注: 是否批准为1 f 公开论文 注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写( 一式两份) 签字后交校图书 馆,非公开学位论文须附南开大学研究生申请非公开学位论文审批表 南开大学学位论文使用授权书 根据南开大学关于研究生学位论文收藏和利用管理办法,我校的博士、硕士学位获 得者均须向南开大学提交本人的学位论文纸质本及相应电子版。 本人完全了解南开大学有关研究生学位论文收藏和利用的管理规定。南开大学拥有在 :著作权法规定范围内的学位论文使用权,即:( 1 ) 学位获得者必须按规定提交学位论文( 包 括纸质印刷本及电子版) ,学校可以采用影印、缩印或其他复制手段保存研究生学位论文, 并编入南开大学博硕士学位论文全文数据库;( 2 ) 为教学和科研目的,学校可以将公开 的学位论文作为资料在图书馆等场所提供校内师生阅读,在校园网上提供论文目录检索、文 摘以及论文全文浏览、下载等免费信息服务:( 3 ) 根据教育部有关规定,南开大学向教育部 指定单位提交公开的学位论文;( 4 ) 学位论文作者授权学校向中国科技信息研究所和中国学 术期刊( 光盘) 电子出版社提交规定范围的学位论文及其电子版并收入相应学位论文数据库, 通过其相关网站对外进行信息服务。同时本人保留在其他媒体发表论文的权利。 非公开学位论文,保密期限内不向外提交和提供服务,解密后提交和服务同公开论文。 论文电子版提交至校图书馆网站:h t t p :2 0 2 1 1 3 2 0 1 6 1 :8 0 0 1 f i n d e x h t m 。 本人承诺:本人的学位论文是在南开大学学习期间创作完成的作品,并已通过论文答辩: 提交的学位论文电子版与纸质本论文的内容一致,如因不同造成不良后果由本人自负 本人同意遵守上述规定。本授权书签署一式两份,由研究生院和图书馆留存。 作者暨授权人签字:生竺。 2 0 1 0 年5 月2 7 日 南开大学研究生学位论文作者信息 论文题目 与p o s t g r e s q l 无缝集成的纯x m l 存储方案设计与实现 姓名 宁华学号 2 1 2 0 0 7 0 3 0 0 答辩日期2 0 1 0 年5 月2 1 日 论文类别博士口学历硕士 硕士专业学位口高校教师口同等学力硕士口 院系n信息技术科学学院专业计算机软件与理论 联系电话 13 9 2 0 7 3 8 2 5 5 e m a i l n i n g h u a _ n k m a i l n a n k a i c d u c a 通信地址( 邮编) : 备注:是否批准为非公开论文 孬 注:本授权书适用我校授予的所有博士、硕士的学位论文。由作者填写( 一式两份) 签字后交校图书 馆。非公开学位论文须附南开大学研究生申请非公开学位论文审批表。 ,a静 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下进行研究工作所取 得的研究成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任 何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的 研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文 原创性声明的法律责任由本人承担。 学位论文作者签名:宝垡2 0 1 0 年5 月2 7 日 非公开学位论文标注说明 根据南开大学有关规定,非公开学位论文须经指导教师同意、作者本人申请 和相关部门批准方能标注。未经批准的均为公开学位论文,公开学位论文本说明 为空白。 论文题目 申请密级 口限制( 2 年)口秘密( 1 0 年)口机密( 2 0 年) 保密期限 2 0 年月日至2 0年月日 审批表编号批准日期 2 0 年月 日 限制2 年( 最长2 年,可少于2 年) 秘密1 0 年( 最长5 年,可少于5 年) 机密2 0 年( 最长1 0 年,可少于1 0 年) 随着x m l 相关标准的推广和应用,各个领域不断涌现出大量的x m l 文档。 如何有效管理大规模x m l 文档数据,已经成为当前数据库领域中一个亟待解决 的研究课题。基于关系数据库管理x m l 数据,可以为x m l 提供更为成熟的平 台。针对传统基于关系数据库方法管理x m l 数据所造成的语义丢失以及性能下 降问题,研制与关系数据库无缝集成的纯x m l 引擎,重用关系数据库成熟的存 储管理器,在关系表之上以自然的方式构建x m l 数据模型,基于该模型直接进 行查询处理,以避免由x m l 数据模型与关系模型之间的差异所引起的多重复杂 转换。 本文提出了一种与关系数据库无缝集成的纯x m l 存储方案n x r e l ,并在 p o s t g r e s q l 上予以实现。该方案借助有效的x m l 节点编码方案,使用关系数据 库的物理存储表持久化x m l 文档数据模型。首先,该方案下的x m l 节点表是 x m l 数据模型的无损映射;其次,最大限度地重用了关系数据库底层成熟的存 储管理机制,使得x m l 数据的事务处理、日志与恢复管理、权限控制等都有了 保障。此外,本文还设计并实现了一套基于n x r e l 存储方案的x m l 索引结构 基础框架,包括x m l 主索引、x m l 标签索引、x m l 结构摘要索引、x m l 值 索引和x m l 全文索引,能够满足x m l 查询处理的基本要求。 本文通过一系列实验,比较和验证了n x r e l 的存储方案和索引结构的性能。 实验表明,n x r e l 是一种高性能的纯x m l 数据存储方案,且n x r e l 上的索引 结构能够为纯x m l 查询引擎提供有力的支持。 关键词:x m l 无缝集成p o s t g r e s q lx m l 存储方案x m l 索引结构 a b s t r a c t a b s t r a c t w i t ht h ep r o m o t i o na n da p p l i c a t i o no fx m l s t a n d a r d s ,a ni n c r e a s i n gn u m b e ro fx m l d o c u m e n t sa r ec o n t i n u o u s l ye m e r g i n gf r o ma l lf i e l d s i ti s c u r r e n t l ya nu r g e n t r e s e a r c ht o p i ci n t h ed a t a b a s ec o m m u n i t yt h a th o wt oe f f e c t i v e l ym a n a g el a r g e r e p o s i t o r i e so fx m l d o c u m e n td a t a r d b m sc a np r o v i d em o r em a t u r ep l a t f o r mf o r x m ld a t am a n a g e m e n t h o w e v e r , r e l a t i o n a le n g i n ec a nn o tb ec a p a b l ef o rx m l q u e r yb e c a u s eo ft h ed i f f e r e n c e sb e t w e e nr e l a t i o n a la n dx m l d a t am o d e l s t h en a t i v e x m le n g i n es e a m l e s s l yi n t e g r a t e dw i t l lr d b m se x e c u t e sx q u e r y x p a t hq u e r i e s d i r e c t l yo nx m l d a t am o d e l ,s o l v i n gt h ep r o b l e m sc a u s e db yt h em o d e ld i f f e r e n c e s t h i st h e s i sp r e s e n t sa n di m p l e m e n t so np o s t g r e s q lan a t i v ex m ls t o r a g e s c h e m es e a m l e s s l yi n t e g r a t e d 州t l lr e l a t i o n a ld a t a b a s e ,w h o s ec e n t r a li d e ai st ot a k e a d v a n t a g eo fe f f e c t i v ex m l n o d en u m b e r i n gs c h e m et os u p p o r tx m ld a t am o d e l o v e rr e l a t i o n a lt a b l e f i r s t l y , t h i sr e l a t i o n a lt a b l eo fx m ln o d e si san o n - d e s t r u c t i v e m a p p i n go fx m ld a t am o d e l ;s e c o n d l y , t h es t o r a g es c h e m em a x i m i z et h er e u s eo f t h eu n d e r l y i n gs t o r a g em e c h a n i s me x i s t i n gi nr e l a t i o n a ld a t a b a s e ,w h i c hg u a r a n t e e s t h et r a n s a c t i o np r o c e s s i n g ,l o ga n dr e c o v e r ym a n a g e m e n t ,a n da u t h o r i t yc o n t r o lf o r x m ld a t am a n a g e m e n t i na d d i t i o n , t h i st h e s i sp r e s e n t sa n di m p l e m e n t sab a s i c f r a m e w o r ko fx m li n d e xs t r u c t u r e sb a s e do nt h en x r e ls t o r a g es c h e m e ,i n c l u d i n g x m lm a i ni n d e x ,x m lt a gi n d e x ,x m lp a t hi n d e x ,x m lv a l u ei n d e xa n dx m l f u l l t e x ti n d e x ,w h i c hc a nm e e tt h eb a s i cr e q u i r e m e n t sf o rx m l q u e r yp r o c e s s i n g i nt h i st h e s i s ,as e r i e so fe x p e r i m e n t sa r ec o n d u c t e dt oc o m p a r ea n dv e r i f yt h e p e r f o r m a n c eo ft h en x r e ls t o r a g es c h e m ea n di n d e xs t r u c t u r e s t h ee x p e r i m e n t s s h o wt h a tn x r e li sah i g h - p e r f o r m a n c en a t i v ex m ls t o r a g es c h e m e ,a n dt h ei n d e x s t r u c t u r e sb a s e do nn x r e lc a np r o v i d ef o r c e f u ls u p p o r tt ox m l q u e r ye n g i n e k e yw o r d s :x m l ;s e a m l e s s l yi n t e g r a t e d ;p o s t g r e s q l ;x m ls t o r a g es c h e m e ; x m li n d e xs t r u c t u r e i i 目录 目录 摘要i a b s t r a c t i i 第一章绪论1 第一节研究背景l 第二节国内外发展现状。2 1 2 1 基于关系数据库的x m l 数据管理发展现状2 1 2 2 纯x m l 数据库系统发展现状4 第三节主要研究工作。6 第四节论文组织结构7 第二章与关系数据库无缝集成的纯x m l 存储方案n 状e l 8 第一节总体架构8 第二节x m l 数据模型。l o 第三节x m l 智能节点i d 1 3 2 3 1 基于区间的编码方案。1 3 2 3 2 基于前缀的编码方案1 4 2 3 3n x r d 中智能节点i d 的抽象接口定义1 6 第四节基于关系模型的持久化x m l 数据模型1 8 2 4 1 x m l 数据模型到关系模型的映射1 8 2 4 2x m l 文档的分解。2 l 2 4 3x m l 文档的重构。2 3 第三章 与p o s t g r e s q l 无缝集成的m 状e l 实现2 5 第一节p o s t g r e s q l 存储管理器剖析2 5 3 1 1 关系表的存储2 5 i i i 目录 3 1 2m v c c 多版本并发控制机制31 3 1 3 元数据与系统表驱动机制3 3 3 1 4 p o s t g r e s q l 的可扩展性3 5 第二节p o s t g r e s q l 中的x m l 数据类型3 7 第三节对p o s t g r e s q l 中x m l 数据类型的改进3 9 3 3 1总体框架3 9 3 3 2x m l 节点表。4 2 3 3 3x m l 文档的管理粒度。4 5 3 3 4 在p o s t g r e s q l 中添加对x m l 数据类型的维护4 8 第四章m 讯e l 对皿查询引擎的支持5 4 第一节路径表达式o 5 4 第二节n x r e l 中的x m l 索引结构5 5 4 2 1 标签索引5 6 4 2 2 结构摘要索引5 7 4 2 3 值索引5 9 4 2 4 全文索引6 0 4 2 5 辅助索引访问接口的实现6 l 第三节基于索引的路径表达式求值6 2 第五章实验结果与分析6 5 第一节实验环境6 5 第二节实验数据集6 5 第三节x m l 文档的存储和重构性能6 6 5 3 1 x m l 文档的存储性能6 6 5 3 2x m l 文档的重构性能6 7 第四节x m l 索引性能6 8 5 4 1 索引存储空间。6 8 5 4 2 索引访问时间6 9 i v 7 4 7 4 第二节展望7 5 参考文献7 6 致谢7 9 附录8 0 附录a :图目录8 0 附录b :表目录8 1 个人简历8 2 v 第一章绪论 第一节研究背景 国际万维网联盟( w 3 c ) 制定的可扩展标记语言( e x t e n s i b l em a r k u p l a n g u a g e ,简称x m l ) 【1 】已成为w 曲上表示和交换数据的标准格式。x m l 最初 的设计目的是作为不同信息系统之间数据交换的传输格式。随着x m l 相关标准 的推广和应用,各行各业都以x m l 作为元语言来制定各自领域特定的子语言, 用于存储和共享本领域的业务数据。在这种背景下,各个领域不断涌现出大量 的x m l 文档。使用文件系统管理x m l 文档,显然已经无法满足用户对于复杂 查询、并发访问和数据完整性的需求。为了进行有效的数据管理,有必要将x m l 文档存储到数据库中。如何有效管理大规模x m l 文档数据,已经成为当前数据 库领域中一个亟待解决的研究课题。 目前管理x m l 数据主要有两类方法:第一类是基于关系数据库的x m l 数 据管理;第二类是为x m l 数据量身定做新型的纯x m l 数据库。 1 ) 基于关系数据库的x m l 数据管理 传统的借助关系型数据库系统管理x m l 数据主要有两种方式:基于大对象 和基于表映射。基于大对象的方式【2 】【3 1 将整篇x m l 文档存储为b l o b ( b i n a r y l a r g eo b i e c t ) 或c l o b ( c h a r a c t e rl a r g e0b ! j e c t ) 对象。该方法虽然能够快速地 装载和提取整篇文档,但是操作粒度过大,任何x m l 文档片段或节点级操作都 要求首先解析长篇x m l 数据,由于个别字节的更改也必须将整篇x m l 文档重 新写入磁盘。大量而频繁的运行时x m l 解析使得数据查询和操纵性能十分低下。 基于表映射的方式【4 j 【5 】【6 】将x m l 数据分解到若干关系表中,借用关系数据 库成熟的存储管理器和关系查询引擎来管理x m l 数据,将x m l 查询操作转化 为一系列关系查询操作,利用关系的查询代数、查询处理和优化机制来加速x m l 查询,技术上成熟可行。但是,由于x m l 数据是半结构化数据,而关系数据是 结构化数据,二者存在本质差异。因而将x m l 数据分解到关系表中存储需要经 过映射,这种映射有时会导致x m l 重要语义的丢失。另一方面,在x m l 查询 处理过程中需要进行多重复杂的转换,如将x m l 查询转换为s q l 查询,查询 结果再由关系表转换为x m l 文档等等,多重复杂转换势必造成性能下降。 第一章绪论 2 ) 纯x m l 数据库 纯x m l 数据库( n a t i v ex m ld a t a b a s e ,简称n x d ) 以x m l 数据模型为中 心,具有为x m l 量身定做的存储方案、索引结构和查询引擎,其x m l 物理存 储模型与逻辑模型保持一致,无需经过映射,亦不会造成语义丢失,并且直接 使用x m l 查询语言x q u e r y 7 l x p a t h t 8 1 和更新语言x u p d a t e 9 】在x m l 数据模型上 执行查询和更新操作,能够十分自然地处理x m l 文档。然而,由于采用了新型 的物理存储模型,纯x m l 数据库系统必须重新实现关系数据库领域已经研究和 实践了三十余年的众多成熟理论和技术,包括存储管理,c a c h e 管理,事务管理, 锁管理,备份与恢复管理,安全性管理等等。如此大规模的重复开发工作必然 会浪费巨大的人力和物力。 第二节国内外发展现状 由于x m l 数据管理的重要性,国内外很多研究者正在将大量精力投入x m l 数据管理领域的研究。以下分别对基于关系数据库的x m l 数据管理和纯x m l 数据库管理系统的发展现状进行分析与阐述。 1 2 1基于关系数据库的x m l 数据管理发展现状 随着x m l 应用的日益普及,用户对x m l 数据管理的需求越来越多,但纯 x m l 数据库系统的产品化尚处于起步阶段,其理论体系还未完全成熟,因此目 前各数据库厂商都将研究重点放在扩展现有关系数据库对x m l 数据的支持上。 最新发布的s q l 2 0 0 3 标准扩展了s q l 语法,增加了x m l 支持,规范了s q l 与 x m l 的结合方式。扩展部分( s q l 2 0 0 3 标准的第1 4 章) 被称为s q l x m l 标 准 1 0 】,规定了关系数据库通过引入x m l 数据类型的方式提供对x m l 数据的存 储、查询、更新等操作。当今主流商业数据库主要有m i c r o s o t ls q l s e r v e r 、i b m d b 2 、o r a c l e 等,另外m y s q l 和p o s t g r e s q l 等开源数据库也在数据库领域占有 一定的使用份额。以下对上述系统各自的x m l 数据支持情况进行分析。 1 ) m i c r o s o f ts q l s e r v e r s q l s e r v e r2 0 0 5 符合s q l x m l 标准,提供了内置的x m l 数据类型,并支 持在x m l 数据类型上建立索引,包括创建x m l 主索引与x m l 辅助索引1 1 1 1 。 2 第一章绪论 具体实现方式为:将x m l 数据存储为b l o b 对象,如果指定在x m l 类型数据 上创建索引,将x m l 数据另行拆分至关系表存储,以x m l 拆分数据表中的 o r d p a t h 节点编码【1 2 j 列作为x m l 主索引,并在拆分数据表上建立其他辅助索 引。这一方案一定程度上改进了大对象方式的缺陷,但是冗余的存储结构造成 存储空间开销增大,而且又引入了更新一致性问题。 2 ) i b m d b 2 x m l 数据模型在d b 29 中被真正地作为层次模型来支持【1 3 1 。从磁盘上的最 小的存储单元开始,保存的就是x m l 对应的树形结构。基于树形结构的存储, d b 29 直接支持国际标准的x m l 查询语言x q u e r y ( 包含x p a t h 标准的支持) 。 除了存储机制,查询机制,配套的还有x m l 的索引机制,x m ls c h e m a 的管理 机制等。由于对x m l 的n a t i v e 支持,d b 29 不再是单纯的关系型数据库,而是 同时支持关系型和层次数据模型的混合型数据库。一方面继承原有的关系数据 库技术,支持标准s q l 查询关系表;另一方面有一套完善的x m l n a t i v e 技术, 支持标准的x q u e 巧查询x m l 层次模型;同时二维关系表上的s q l 查询和层次 树形结构上的x q u e r y 查询还可以互相嵌套实现两种数据模型的关联查询。 3 ) o r a c l e o r a c l el l g 1 4 】采用表映射方式,以对象关系模型集成对x m l 数据的管理, 通过这种方式,x m l 文档的嵌套结构被映射为数据库端的嵌套结构。将x m l 转化为关系表,利用关系数据库管理x m l 文档。通过使用x m ls c h e m a 定义一 个x m l 模式,根据此模式可以将x m l 文档转化为数据库端的对象关系模型。 4 ) m y s q l m y s q l 作为开源的数据库系统被广泛使用。其在5 1 版本后加入了对x m l 数据的初步支持,目前只支持对特定x m l 片段的x p a t h 查询与修改。其他如 x q u e r y 等操作尚不支持。实际上,m y s q l 是将x m l 数据片段作为s t r i n g 类型 来存储,而并非使用特定的x m l 数据类型。 5 ) p o s t g r e s q l p o s t g r e s q l t l 5 】作为唯一的大型开源数据库系统,对x m l 的支持并不是十分 完善。在底层存储模块中,p o s t g r e s q l 并没有将x m l 数据单独进行处理,而是 将其看成为一个t e x t 域,因此其x m l 查询效率受到限制。在查询处理中它支 持x p a t h 查询,但不支持x q u e r y ,不支持节点的动态更新,也不支持对x m l 模式信息的验证过程。p o s t g r e s q l 在其新的8 3 版本中增加了x m l 数据类型, 3 第一章绪论 对s q l x m l 标准提供了支持,增加了对x m l 数据的格式检查等功能。事实上, p o s t g r e s q l 在新的更新版本中虽然增加入了x m l 数据功能的语法支持,但是受 其底层存储和索引支持所限,p o s t g r e s q l 并不能真正作为高效的x m l 数据管理 工具。 可见当今开源的关系数据库还缺乏对x m l 的有力支持。究其原因是在集成 工作方面,商业数据库更有优势。 1 2 2纯x m l 数据库系统发展现状 近年来,纯x m l 数据库取得了较快的发展,已有国内外多家研究机构推出 了自己的原型系统,如n a t i x 1 6 1 、e x i s t t l7 1 、o r i e n t x 1 引、x n a t i v e 1 9 1 【2 0 1 等。这些系 统为x m l 设计了专属的物理存储模型,直接以树形结构存储和维护x m l 文档, 并具有为x m l 单独设计的索引结构i 查询引擎、事务机制等,比较适合x m l 数据的管理,但总体来说,这些系统还不成熟。 1 ) n a t i x n a t i x 是德国曼海姆大学数据库研究组开发的x m l 管理系统,其特点在于 强大的数据存储能力。它采用基于物理划分的子树存储数据,并可设置参数控 制子树规模。装载数据时,n a t i x 需要把x m l 文档的逻辑模型分割为若干子树, 再将子树作为记录存储到磁盘页中。更新数据时,n a t i x 使用额外的算法维护子 树的分裂,确保每棵子树都能被磁盘页所容纳。为访问单个x m l 节点,n a t i x 必须读取并解析该节点所属的整棵子树。频繁地对子树进行分裂和解析操作, 势必影响存储与查询效率。主要原因是,将子树作为基本存储单元,其粒度过 大。此外,n a t i x 只实现了基本的x p a t h 表达式查询而没有实现x q u e r y 语言。 2 ) e x i s t e x i s t 是由德国人w r o l f g a n g 所领导的小组开发的开源纯x m l 数据库系统。 e x i s t 号称是完全构建在x m l 技术之上,彻底摒弃了原有关系数据库系统的设 计思想。e x i s t 遵照x m l 数据模型存储x m l 数据,具备高效的基于索引的 x q u e r y 查询处理机制。但是,如前所述,e x i s t 重新开发了存储管理、并发控制、 备份恢复等一系列标准部件。这些标准部件在x m l 数据模型上的测试还需要一 个较长的过程,因此目前e x i s t 的发布版本对于x m l 数据密集的多用户大型应 用尚不成熟。 4 第一章绪论 3 ) o r i e n t x 中国人民大学的数据库研究组是国内最早开展x m l 数据管理研究的科研团 队。o r i e n t x 是他们开发的纯x m l 数据库管理系统。o r i e n t x 建立了一个以x m l 数据为中心的数据管理系统,支持对x m l 数据的存储、查询、更新等操作。 o r i e n t x 支持描述化查询语言x q u e r y 的一个子集,具有一次一集合的查询处理 能力。基于代价估计的查询优化方法分析不同的查询方案,选择代价最小的执 行。基于模式的路径索引根据模式和数据的编码迅速判断父子或祖先后代关系。 o r i e n t x 支持采用多种粒度的树形结构存储数据,系统根据数据模式特点等提供 不同的物理存储方法,拥有统一的逻辑层。 4 ) x n a t i v e x n a t i v e 是由笔者所在的南开大学数据库与信息系统实验室开发的纯x m l 数据库管理系统( 计算机软件登记号:2 0 0 8 s r 0 9 6 9 4 ) 。x n a t i v e 不仅具备x m l 存储管理、x p a t h x q u e r y 查询处理、x m l 数据更新等纯x m l 引擎功能,而且 吸收了关系数据库的事务管理、锁管理、日志管理、备份恢复等机制。在x m l 存储管理方面,x n a t i v e 使用x n s t o r e 存储方案,提供高效率的x m l 存储、串 行化和节点访问操作。在x m l 查询处理方面,x n m i v e 充分利用结构摘要索引 实现了高效率的x p a t h x q u e r y 求值算法。在x m l 数据更新方面,x n a t i v e 的特 色在于提供更新后的增量验证和自动纠错服务。当然。与其他纯x m l 数据库系 统一样,x n m i v e 中一些标准组件的成熟度尚待提高。 纯x m l 数据库系统主要有以下两点不足: 1 ) 关系型数据库功能上已经非常完善,包括用户权限、事务机制、备份与 恢复机制等。同时也具有非常好的性能。虽然针对纯x m l 数据库设计 了一套解决方案,但相对已经非常成熟的关系型数据库,它在功能和性 能方面还没有优势。而且对于如用户权限、事务管理、备份与恢复管理 等模块,这两种数据库是可以共享的。纯x m l 数据库可以重用关系型 数据库的成果。这样既节省了开销又保证了性能和功能的完善。 2 ) 虽然x m l 数据的管理非常重要,甚至有学者认为x m l 数据模型以其 强大的数据表示能力最终将取代关系数据模型成为数据处理的主要发 展方向,但是由于已有的数据大多是使用关系型数据库进行管理的,可 以预见在今后相当长的一段时间内,关系型数据库还会具有广泛的应 用。为了能使x m l 数据库具有更加广阔的应用,目前应该与关系型数 5 第一章绪论 据库进行整合。使之同时支持已有的关系型数据和新增的x m l 数据的 管理。 第三节主要研究工作 笔者参与了国家8 6 3 课题无缝集成关系数据库系统的纯x m l 引擎研制与 关键技术研究。该项目针对传统基于关系数据库方法管理x m l 数据所造成的 语义丢失以及性能下降问题,研究纯x m l 引擎技术及其与关系数据库无缝集成 的实现方法,研制一个与关系数据引擎无缝集成的纯x m l 数据引擎,以增强数 据库系统的功能和适用范围。 课题组制定的总体技术路线是:“x m l 存储的融合+ x m l 引擎的扩充 。 所谓“x m l 存储的融合 ,是指在关系数据库的存储后端中无缝融合x m l 数据。 这种融合不仅要求在关系表上体现出x m l 数据模型,而且要尽可能重用关系数 据库存储后端成熟的存储管理机制。所谓“x m l 引擎的扩充 ,是指在关系查询 引擎中自然地扩充x m l 专用查询处理机制,在不影响关系引擎的基础上有机地 整合纯x m l 引擎。其中,“x m l 存储的融合 是基础,也是本文要研究的主要 内容。 本文提出了一种与关系数据库无缝集成的纯x m l 存储方案n x r e l ,并在大 型开源关系型数据库系统p o s t g r e s q l 上予以实现,为纯x m l 引擎的研制打下 了坚实的基础。 论文的主要研究工作包括以下几个方面: 1 ) 研究了x m l 数据库技术的发展现状与趋势,总结了现有x m l 数据库 系统的特点与不足之处,分析了无缝集成关系数据库系统的纯x m l 引 擎对x m l 存储方案的要求。 2 ) 提出了一种与关系数据库无缝集成的纯x m l 数据存储方案n x r e l 。其 中心思想是借助有效的x m l 节点编码方案,完成x m l 数据模型到关 系模型的无损映射,使用物理存储表存储x m l 节点数据。该方案在关 系表上自然地构建起x m l 数据模型,同时可以最大限度地重用关系数 据库底层成熟的存储管理机制,为搭建纯x m l 引擎打下坚实的基础。 3 ) 深入研究了p o s t g r e s q l 的存储后端,在不影响对原有关系数据的存储 与访问的前提下,使用n x r e l 对p o s t g r e s q l 中的x m l 数据类型进行 6 第一章绪论 了改进。解决了x m l 文档的管理粒度问题,对于关系表中每个x m l 列,建立一张x m l 节点表,将该列上的x m l 数据移至线外存储。 4 ) 在n x r e l 的基础上,根据路径表达式的执行特点,设计并实现了一套 x m l 索引结构框架,包括x m l 主索引、x m l 标签索引、x m l 结构摘 要索引、x m l 值索引和x m l 全文索引,为纯x m l 查询引擎提供了有 力的支持。 5 ) 设计了一系列实验,分别验证了n x r e l 存储方案下,x m l 文档的存储 与重构性能,以及索引的存储和访问性能。 第四节论文组织结构 本文分为六章,共二十节,文章结构及各章主要内容组织如下: 第一章介绍了课题的研究背景,国内外x m l 数据库系统的发展现状与趋势, 以及本文的主要研究工作。 第二章介绍n x r e l 存储方案。首先给出了n x r e l 的总体架构,而后围绕其 中心思想展开详细论证,最后给出了节点表的关系模式和模型映射算法,以及 x m l 文档的分解和重构算法。 第三章首先剖析了p o s t g r e s q l 中核心的存储管理机制,接着指出了 p o s t g r e s q l 中x m l 数据类型原有实现方案所存在的缺陷,最后详细阐述了使用 n x r e l 对p o s t g r e s q l 中x m l 数据类型进行改进的方案。 第四章首先介绍了x m l 路径表达式的结构和执行特点,接着给出了n x r e l 上的x m l 索引结构框架,最后举例说明了基于索引的路径表达式求值过程。 第五章给出l 性能实验的结果与分析。 第六章总结了n x r e l 存储方案的特点,并展望了后续的研究工作。 7 第二章与关系数据库无缝集成的纯x m l 存储方案n x r e l 第二章与关系数据库无缝集成的纯x m l 存储方案n x r e l 与关系数据库系统无缝集成的纯x m l 存储方案,有两个方面的要求。第一 个方面是无缝集成的要求,即要求不能破坏原有关系模型的存储管理机制,并 力争最大限度地重用关系数据库的存储管理器( 包括磁盘管理器、c a c h e 管理器、 日志管理器、备份恢复管理器、事务管理器、锁管理器等等) 。第二个方面是纯 x m l 存储的要求,即要求以x m l 数据模型为中心,无损地存储其结构及内容 信息,以自然的方式存储和管理x m l 文档。 一种简单的思路是采用模型映射的方式,将x m l 存储管理构建在关系表的 概念之上。这样可以最大限度地重用关系数据库系统底层成熟的存储管理机制, 易于达到无缝集成的要求,也便于平台移植,具有一定的普适性。然而,关系 模型和x m l 数据模型存在较大差异,关系表是一种扁平的二维结构,x m l 数 据则具有半结构化、多层嵌套、可扩展以及模式灵活等特点。如何将x m l 嵌套 的层次结构无损的映射为关系表结构,以达到纯x m l 存储的要求,是要研究的 主要问题。 本章提出了一种与关系数据库无缝集成的纯x m l 存储方案n x r e l 。第一节 给出了n x r e l 的总体架构,其中心思想是借助有效的x m l 节点编码方案,完 成x m l 数据模型到关系模型的无损映射,使用节点表( 关系模型) 构建起持久 化的x m l 数据模型。第二至四节就这一思想展开详细论述。首先给出x m l 数 据模型的定义,该模型可以完整地体现x m l 文档的所有信息:接着论述了智能 节点i d 作为x m l 节点结构信息代理的优势和关键作用,并给出了n x r e l 中智 能节点i d 的抽象接1 :3 定义:最后,给出了x m l 节点表的关系模式,以及x m l 数据模型到关系模式的映射算法,将一篇x m l 文档分解到x m l 节点表中存储。 该方案以一种自然的方式在关系模型的基础上无损地构建了x m l 数据模型,并 达到了与关系型数据库的无缝集成。 第一节总体架构 图2 1 所示的是n x r e l 存储方案的总体架构图,它包括三层结构:r d b m s 本章主要研究工作已发表于2 0 0 9 信息科学与技术国际会议论文集( 文献 2 1 1 ,e l 索引) 8 第二章与关系数据库无缝集成的纯x m l 存储方案n x r e l 存储管理层,关系表层和数据逻辑层。处于最底层的是关系数据库的存储子系 统,完全重用了纯熟的r d b m s 存储管理。在存储子系统之上的是关系表层, 在该层扩展了x m l 节点表来存储持久化的x m l 数据模型。x m l 节点表中每一 个元组对应x m l 数据模型中的一个x m l 节点,每个节点都被赋予了唯一的标 识智能节点i d 。智能节点i d 完整地保存了节点在x m l 数据模型中的结构 信息,在x m l 节点表中充当主键列,并且在智能节点i d 列建立了主索引,通 过它可以保持x m l 节点的文档序,在关系模型之上自然地体现出x m l 数据模 型。x m l 辅助索引是为了快速实现x m l 查询服务的,主要包括标签索引、结 构摘要索引、值索引、全文索引等,将在第四章中做详细讨论。 图2 1 总体架构图 在图2 1 中,处于最上层的是数据逻辑层,它主要包括x m l 文档的分解和 重构两个过程。文档分解时,解析器读取x m l 文档,生成x m l 逻辑模型;模 型映射器按照文档顺序,依次将数据模型中的逻辑节点映射为x m l 节点表一行 元组,并固化到x m l 节点表中。文档重构时,x m l 重构器扫描主索引表,以 文档顺序访问x m l 节点表中存储的物

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论