什么是XML技术与数据库的发展
时间:05-13
来源:IT专家网
点击:
3、XML与数据库
XML文件是数据的集合,它是自描述的、可交换的,能够以树型或图形结构描述数据。XML提供了许多数据库所具备的工具:存储(XML文档)、模式(DTD,XMLschema,RE1AXNG等)、查询语言(XQuery,XPath,XQL,XML-QL,QUILT等)、编程接口(SAX,DOM,JDOM)等。但XML并不能完全替代数据库技术。XML缺少作为实用的数据库所应具备的特性:高效的存储、索引和数据修改机制;严格的数据安全控制;完整的事务和数据一致性控制;多用户访问机制;触发器、完善的并发控制等。因此,尽管在数据量小、用户少和性能要求不太高的环境下,可以将XML文档用作数据库,但却不适用于用户量大、数据集成度高以及性能要求高的作业环境。
随着Web技术的不断发展,信息共享和数据交换的范围不断扩大,传统的关系数据库也面临着挑战。数据库技术的应用是建立在数据库管理系统基础上的,各数据库管理系统之间的异构性及其所依赖操作系统的异构性,严重限制了信息共享和数据交换范围;数据库技术的语义描述能力差,大多通过技术文档表示,很难实现数据语义的持久性和传递性,而数据交换和信息共享都是基于语义进行的,在异构应用数据交换时,不利于计算机基于语义自动进行正确数据的检索与应用;数据库属于高端应用,需要昂贵的价格和运行环境。而随着网络和Internet的发展,数据交换的能力已成为新的应用系统的一个重要的要求。XML的好处是数据的可交换性(portable),同时在数据应用方面还具有如下优点:(1)XML文件为纯文本文件,不受操作系统、软件平台的限制;(2)XML具有基于Schema自描述语义的功能,容易描述数据的语义,这种描述能为计算机理解和自动处理;(3)XML不仅可以描述结构化数据,还可有效描述半结构化,甚至非结构化数据。
4、XML文件的存储
XML文件的存储方式有三大类:(1)将文件存储于文件系统(StoringDocumentsinthe File System);(2)将文件存储于BLOB(Storing Documents in BLOBs),利用数据库的事务管理、安全、多用户访问等优点。此外许多关系数据库提供的检索工具可以进行全文检索、近似检索、同义词检索和模糊检索。其中某些工具将会支持XML,这样就可消除将XML文件作为纯文本检索所带来的问题。(3)将文件存储于原生XML数据库(Native XML Databases,NXD)。NXD是专用于存储XML文件的数据库,支持事务管理、安全、多用户访问、编程API和查询语言等。与其它数据库的唯一区别在于其内部模型是基于XML的。其中,最重要的存储方式当属原生XML数据库。
4.1原生XML数据库
原生XML数据库(NativeXMLDatabases)为XML文档定义了一个(逻辑)模型,并根据该模型存取文件。这个模型至少应包括元素、属性、PCDATA和文件顺序。其例子有XPath数据模型、XMLIn-foset以及DOM所用的模型和SAX 1.0的事件。它以XML文件作为其基本存储单位,对底层的物理存储模型没有特殊要求。例如,它可以建在关系型、层次型或面向对象的数据库之上,或者使用专用的存储格式,比如索引或压缩文件。
NXD最适于存储以文档为中心的文件。这是由于NXD保留了文件、顺序、处理指令、注释、CDA-TA块以及实体引用等,而支持XML的数据库XED(XML-enableddatabase)无法做到。XED是在原有数据库基础上扩展了XML支持模块,完成XML数据和数据库之间的格式转换和传输。从存储粒度上,可以把整个XML文档作为RDBMS表中一行,或把XML文档进行解析后,存储到相应的表格中。为了支持W3C的一些XML操作标准,Xpath、XED提供一些新的原语(如Oracle9iR2增加了一些数据包来操作XML数据等),并优化了XML处理模块。
NXD一般采用层次数据存储模型,保持XML文档的树形结构,省掉了XML文档和传统数据库的数据转换过程。NXD还适用于存储"天然格式"为XML的文件,NXD还可以存储半结构化数据、在某种特定情形下提高存取速度以及存储没有DTD的文件(良构的文件)。
4.2原生XML数据库的结构
原生XML数据库的结构可分为两大类:基于文本的和基于模型的。
基于文本的NXD(Text-BasedNativeXMLDatabases)将XML作为文本存储。它可以是文件系统中的文件、关系数据库中的BLOB或特定的文件格式。基于文本的NXD与层次结构的数据库很相似,当存取预先定义好层次的数据时,它比关系数据库更胜一筹。和层次结构的数据库一样,当以其它形式比如转置层次存取数据时,NXD也会遇到麻烦。这个问题的严重程度尚未可知,很多关系数据库都使用逻辑指针,使相同复杂度的查询以相同的速度完成。
基于模型的NXD(Model-BasedNativeXMLDatabases)是根据文件构造一个内部模型并存储这个模型。有些数据库将该模型存储于关系型和面向对象的数据库中,例如在关系型数据库中存储DOM时,就会有元素、属性、PCDATA、实体、实体引用等表格。其他数据库使用了专为这种模型优化了的存储格式。使用专用存储格式的基于模型的NXD如果以文件的存储顺序读取文件,其性能与基于文本的NXD相似。
4.3原生XML数据库的特性
原生XML数据库的特性(FeaturesofNativeXML Databases)有:(1)文件集(Document Collections),支持集合(Collection)的概念,其作用相当于关系数据库中的表和文件系统中的文件夹。(2)查询语言(Query Languages),最常用的有XPath(对多个文件的查询作了扩充)和XQL,以及专有的查询语言。(3)更新和删除(Updates and Deletes),NXD对文件的更新和删除方式从简单的替换或删除现有文件,到修改当前活动的DOM树,以及用于指定如何修改文件片断的语言。(4)事务、锁定和并发(Transactions,Locking,and Concurrency),支持事务处理。锁定通常是对整个文档的,所以多用户并发性相对较低。问题的大小取决于应用程序以及"文件"的构成。(5)原生数据库提供应用程序接口API(Application Programming Interfaces,APIs)。(6)NXD的一个重要特性是它可以为XML文档提供"往返车票(round-trip)"。可以将XML文件存放在NXD中,而且再取回"同样的"文件。对于以文档为中心的应用程序来说非常重要,因为CDATA部分、实体用法、注释和处理指令是这些文档不可缺少的组成部分。特别是对于法律和医学文件,按规定这些文档必须要保持原样。(7)外部数据(Remote Data),某些NXD可包含有外部数据,它来自存储在数据库中的文档。通常这些数据通过OD-BC、OLE DB或JDBC从关系数据中取出,模型可以是基于表格的或对象-关系型映射。(8)支持元素和属性的索引。
5、结论
XML技术的出现,使数据处理从文件方式到数据库系统再到文件方式的循环,但新的文件方式已经与最初的文件系统有了本质的区别----格式化文档。XML和关系数据库在数据应用和数据管理方面各有优势。
一方面,我们要研究数据库的新技术、探索数据库的发展方向;另一方面,在数据库的基本实现基础上,添加必要的新技术是探索新数据库的发展方向。
XML文件是数据的集合,它是自描述的、可交换的,能够以树型或图形结构描述数据。XML提供了许多数据库所具备的工具:存储(XML文档)、模式(DTD,XMLschema,RE1AXNG等)、查询语言(XQuery,XPath,XQL,XML-QL,QUILT等)、编程接口(SAX,DOM,JDOM)等。但XML并不能完全替代数据库技术。XML缺少作为实用的数据库所应具备的特性:高效的存储、索引和数据修改机制;严格的数据安全控制;完整的事务和数据一致性控制;多用户访问机制;触发器、完善的并发控制等。因此,尽管在数据量小、用户少和性能要求不太高的环境下,可以将XML文档用作数据库,但却不适用于用户量大、数据集成度高以及性能要求高的作业环境。
随着Web技术的不断发展,信息共享和数据交换的范围不断扩大,传统的关系数据库也面临着挑战。数据库技术的应用是建立在数据库管理系统基础上的,各数据库管理系统之间的异构性及其所依赖操作系统的异构性,严重限制了信息共享和数据交换范围;数据库技术的语义描述能力差,大多通过技术文档表示,很难实现数据语义的持久性和传递性,而数据交换和信息共享都是基于语义进行的,在异构应用数据交换时,不利于计算机基于语义自动进行正确数据的检索与应用;数据库属于高端应用,需要昂贵的价格和运行环境。而随着网络和Internet的发展,数据交换的能力已成为新的应用系统的一个重要的要求。XML的好处是数据的可交换性(portable),同时在数据应用方面还具有如下优点:(1)XML文件为纯文本文件,不受操作系统、软件平台的限制;(2)XML具有基于Schema自描述语义的功能,容易描述数据的语义,这种描述能为计算机理解和自动处理;(3)XML不仅可以描述结构化数据,还可有效描述半结构化,甚至非结构化数据。
4、XML文件的存储
XML文件的存储方式有三大类:(1)将文件存储于文件系统(StoringDocumentsinthe File System);(2)将文件存储于BLOB(Storing Documents in BLOBs),利用数据库的事务管理、安全、多用户访问等优点。此外许多关系数据库提供的检索工具可以进行全文检索、近似检索、同义词检索和模糊检索。其中某些工具将会支持XML,这样就可消除将XML文件作为纯文本检索所带来的问题。(3)将文件存储于原生XML数据库(Native XML Databases,NXD)。NXD是专用于存储XML文件的数据库,支持事务管理、安全、多用户访问、编程API和查询语言等。与其它数据库的唯一区别在于其内部模型是基于XML的。其中,最重要的存储方式当属原生XML数据库。
4.1原生XML数据库
原生XML数据库(NativeXMLDatabases)为XML文档定义了一个(逻辑)模型,并根据该模型存取文件。这个模型至少应包括元素、属性、PCDATA和文件顺序。其例子有XPath数据模型、XMLIn-foset以及DOM所用的模型和SAX 1.0的事件。它以XML文件作为其基本存储单位,对底层的物理存储模型没有特殊要求。例如,它可以建在关系型、层次型或面向对象的数据库之上,或者使用专用的存储格式,比如索引或压缩文件。
NXD最适于存储以文档为中心的文件。这是由于NXD保留了文件、顺序、处理指令、注释、CDA-TA块以及实体引用等,而支持XML的数据库XED(XML-enableddatabase)无法做到。XED是在原有数据库基础上扩展了XML支持模块,完成XML数据和数据库之间的格式转换和传输。从存储粒度上,可以把整个XML文档作为RDBMS表中一行,或把XML文档进行解析后,存储到相应的表格中。为了支持W3C的一些XML操作标准,Xpath、XED提供一些新的原语(如Oracle9iR2增加了一些数据包来操作XML数据等),并优化了XML处理模块。
NXD一般采用层次数据存储模型,保持XML文档的树形结构,省掉了XML文档和传统数据库的数据转换过程。NXD还适用于存储"天然格式"为XML的文件,NXD还可以存储半结构化数据、在某种特定情形下提高存取速度以及存储没有DTD的文件(良构的文件)。
4.2原生XML数据库的结构
原生XML数据库的结构可分为两大类:基于文本的和基于模型的。
基于文本的NXD(Text-BasedNativeXMLDatabases)将XML作为文本存储。它可以是文件系统中的文件、关系数据库中的BLOB或特定的文件格式。基于文本的NXD与层次结构的数据库很相似,当存取预先定义好层次的数据时,它比关系数据库更胜一筹。和层次结构的数据库一样,当以其它形式比如转置层次存取数据时,NXD也会遇到麻烦。这个问题的严重程度尚未可知,很多关系数据库都使用逻辑指针,使相同复杂度的查询以相同的速度完成。
基于模型的NXD(Model-BasedNativeXMLDatabases)是根据文件构造一个内部模型并存储这个模型。有些数据库将该模型存储于关系型和面向对象的数据库中,例如在关系型数据库中存储DOM时,就会有元素、属性、PCDATA、实体、实体引用等表格。其他数据库使用了专为这种模型优化了的存储格式。使用专用存储格式的基于模型的NXD如果以文件的存储顺序读取文件,其性能与基于文本的NXD相似。
4.3原生XML数据库的特性
原生XML数据库的特性(FeaturesofNativeXML Databases)有:(1)文件集(Document Collections),支持集合(Collection)的概念,其作用相当于关系数据库中的表和文件系统中的文件夹。(2)查询语言(Query Languages),最常用的有XPath(对多个文件的查询作了扩充)和XQL,以及专有的查询语言。(3)更新和删除(Updates and Deletes),NXD对文件的更新和删除方式从简单的替换或删除现有文件,到修改当前活动的DOM树,以及用于指定如何修改文件片断的语言。(4)事务、锁定和并发(Transactions,Locking,and Concurrency),支持事务处理。锁定通常是对整个文档的,所以多用户并发性相对较低。问题的大小取决于应用程序以及"文件"的构成。(5)原生数据库提供应用程序接口API(Application Programming Interfaces,APIs)。(6)NXD的一个重要特性是它可以为XML文档提供"往返车票(round-trip)"。可以将XML文件存放在NXD中,而且再取回"同样的"文件。对于以文档为中心的应用程序来说非常重要,因为CDATA部分、实体用法、注释和处理指令是这些文档不可缺少的组成部分。特别是对于法律和医学文件,按规定这些文档必须要保持原样。(7)外部数据(Remote Data),某些NXD可包含有外部数据,它来自存储在数据库中的文档。通常这些数据通过OD-BC、OLE DB或JDBC从关系数据中取出,模型可以是基于表格的或对象-关系型映射。(8)支持元素和属性的索引。
5、结论
XML技术的出现,使数据处理从文件方式到数据库系统再到文件方式的循环,但新的文件方式已经与最初的文件系统有了本质的区别----格式化文档。XML和关系数据库在数据应用和数据管理方面各有优势。
一方面,我们要研究数据库的新技术、探索数据库的发展方向;另一方面,在数据库的基本实现基础上,添加必要的新技术是探索新数据库的发展方向。
- DB2 9实例 完美诠释混合型数据库优势(05-15)
- 基于WEB服务的异构数据库集成中间件(05-25)
- 换个角度解决内容管理的问题(05-26)
- 使用IBM DB2 XML 验证技术(06-02)
- 利用Oracle9i XML DB解决复杂编码问题(06-12)
- Oracle开发人员JDOM和XML分析 生成文档 (06-19)