以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  XML与数据库  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=13257)


--  作者:anchen0617
--  发布时间:1/4/2005 7:44:00 PM

--  XML与数据库
XML与数据库

编者按: 数据库管理系统是一种技术十分成熟、应用非常广泛的系统,而XML是一种发展势头十分强劲的新的数据管理手段。随着XML的逐步成熟,是否有一天将用XML替代数据库,直接将数据存放在可实现Web环境下信息共享与数据交换的XML文件中,以利于直接交换?有了数据库技术,还需要XML吗?本文对此进行了探讨。

诞生于二十世纪60年代的数据库技术及其应用系统,在经历了层次数据库、网状数据库到关系数据库、面向对象数据库的发展后,已成为计算机信息系统中的重要基础和支柱。但是,上个世纪90年代以来,Internet的飞速发展使人类社会的信息量迅速膨胀,对信息管理和信息交换的需求更是空前强烈和迫切,使得已在传统的商业处理领域内趋于成熟的数据库技术,面临着许多新的问题和挑战。与此同时,XML技术诞生并迅速成长起来,在诸多领域得到广泛的支持,有着广阔的应用前景,在一定程度上形成了对数据库技术的挑战,目前有不少将XML用于数据库应用的研究正在进行中。

数据库技术面临的挑战

传统数据库的应用领域主要是针对商业与事务处理。Internet时代到来以后,Web改变了人们习惯的处理方式,也给数据库技术提出了一个必须面对的重要问题:即如何有效地存储和管理Web上以指数增长着的数据(文档),使它们既能被高效地操作和维护,又能在Web这个平台上方便地表示和交换。

当前,典型的问题有:

1.将现有数据库中数据转换成适于Web的形式,需要相当的工作量。时至今日,虽然从CGI、Server API、Scripts到Java等等出现了许多解决方法,并且已在实际应用中取得了很好的效果,但仍有问题存在。

2.传统数据库中的数据以二进制码的形式存储,并且不同的数据库管理系统有各自的专有格式,这既带来了表示上的困难,更是进行交换的一大障碍。而随着网络的发展,数据交换的能力已成为新的应用系统的一个至关重要的指标。

当然,我们也已经看到,数据库技术正在积极地吸收和利用Web方面的新技术。当前主流的数据库产品都宣布了对XML的支持。但是,数据库管理系统(DBMS)与XML的这种捆绑是否能够充分发挥效率,还需要在实际中检验。

XML与数据库技术的比较

从技术角度讲,XML和关系数据同属于数据管理的手段。狭义的XML仅仅指一种语言和采用该语言所描述的XML文档,广义的XML包括XML语言、XML文档以及所有与XML相关的工具和技术,例如,XML解析器及解析技术,XML转换技术(XSL、XSML)等。广义的XML与DBMS大致具有相似的作用,XML与DBMS相同之处在于:

1. 提供数据存储。关系数据以数据库系统为手段,XML以文件系统为手段。

2. 提供对数据的直接存取访问。两者都不需要用户关心数据的物理结构。

3.提供数据的模式描述。XML采用DTD(Document Type Definition,文档类型定义)或XML Schema(XML规范)来描述数据的逻辑结构; 关系数据通过关系模式来描述数据的逻辑结构。

4. 提供应用逻辑接口。XML采用SAX(Simple API for XML)和DOM(Document Object Model)定义应用编程接口,使应用程序能够访问和更新XML文档的样式、结构和内容;关系数据采用ODBC、JDBC、OLE DB等。

作为两种相近的技术,两者也存在很大差别:

相对XML,关系数据库的优势在于:技术成熟、应用广泛;数据管理能力强(包括存储、检索、修改等);数据安全程度高;稳定可靠的并发访问机制等。另一方面,随着Web技术的不断发展,信息共享和数据交换的范围不断扩大,传统的关系数据库也面临着挑战。第一,数据库技术的应用是建立在数据库管理系统基础上的,各数据库管理系统之间的异构性及其所依赖操作系统的异构性,严重限制了信息共享和数据交换范围。第二,数据库技术的语义描述能力差,大多通过技术文档表示,很难实现数据语义的持久性和传递性,而数据交换和信息共享都是基于语义进行的,这样在异构应用数据交换时,不利于计算机基于语义自动进行正确数据的检索与应用。第三,数据库属于高端应用,需要昂贵的价格和运行环境等。

归结起来,数据库在数据管理方面具有管理方便、存贮占用空间小、检索速度快、修改效率高、安全性好等优点,但客观上需要用一种应用方式将其丰富的数据有效地发布出来,以消除平台差异、增强语义描述功能、降低环境要求。

相对于数据库技术,XML技术在数据应用方面具有很多优点。第一,跨平台。XML文件为纯文本文件,不受操作系统、软件平台的限制; 第二,易表义。XML具有基于Schema自描述语义的功能,容易描述数据的语义,这种描述能为计算机理解和自动处理。第三,XML不仅可以描述结构化数据,还可以有效描述半结构化,甚至非结构化数据。但另一方面,XML技术在数据管理方面存在明显缺点。首先,XML技术采用的是基于文件的管理机制,文件管理存在着容量大、管理困难的缺点;第二,目前XML的检索是基于节点的检索,存放大量甚至海量数据的XML文件造成检索速度极低;第三,解析手段有缺陷。XML具有两种解析机制,SAX方式是基于文件的解析,速度慢,DOM方式是基于内存的方式,资源消耗极大;第四,修改效率低,目前XML的修改是基于节点的;最后,XML的安全性及并发操作机制也是需要解决的问题之一。

总体上看,XML在数据应用方面上具有易表义、跨平台等优势,但客观上需要一种有效的存储、检索和修改等方面的管理机制。

发展趋势

通过上述分析比较不难得出, 在数据管理方面数据库尤其是关系数据库具有其他方式(包括普通文件、XML文件、对象数据库)无法比拟的优越特性。而在应用方面,尤其是在Web信息共享及异构应用数据交换方面,XML又具有其他技术无法比拟的优点。通过比较,有这样几点结论:

1.人们在现实中还是习惯用关系数据库管理数据,绝非仅仅习惯使然,更深层的原因是XML缺乏像关系数据库这样有效的数据管理手段,造成数据存贮管理困难、检索修改效率极低,这同时也是制约XML技术普及的因素之一,XML尚不能代替关系数据库。

2.通过XML技术降低数据库的使用条件、可以使其中丰富的数据资源得到利用,并且XML在异构数据交换方面具有很大优势。

3.XML和关系数据库在数据应用和数据管理方面各有优势,应是一种相辅相成、扬长避短的关系。

从技术角度讲,“以数据库为存贮手段,以 XML为交换载体”的数据管理模式是一种趋势。XML存放在关系数据库中, XML数据以虚拟XML文档的形式存在。从用户的角度,XML文档和数据库之间的区别是不透明的。数据库中存在的产品数据虚拟的XML文档,对用户而言,重要的不是数据存在何处,而是数据的逻辑结构合理性和操作界面的方便性。

目前,虽然处理和操作XML文档的开销要显著地大于关系数据库系统中类似的表。其中,对XML文档进行装载和转储的开销占了很大的比例。XML文档的长度对其处理开销有非常明显的影响。但无论如何,XML正在迅速地发展和不断地完善中,前景非常光明。例如,正在开发和标准化之中的XML查询语言(XQL)即是针对XML在数据库方面的应用。同时,在这个领域内,还有很多问题有待我们去研究和解决。



--  作者:kevinwu2901
--  发布时间:2/1/2005 5:38:00 PM

--  
总结的很好,mark
--  作者:xmzhy
--  发布时间:2/16/2005 9:39:00 AM

--  
不错
--  作者:myway
--  发布时间:5/26/2005 5:32:00 PM

--  
收藏了,以后写论文的时候可以引用
--  作者:switer520
--  发布时间:5/29/2005 12:27:00 AM

--  
佩服,要向楼主学习啊!!
--  作者:邪之正義
--  发布时间:5/30/2005 8:55:00 AM

--  
好文章啊!
--  作者:zpp990976
--  发布时间:7/8/2005 10:57:00 AM

--  
各位
  有谁用过Tamino吗?本人有一个问题急需解决,关于发RDF的
。希望有人能够帮助我。谢谢了。十万火急!!!!!
   我的邮箱是zpp990976@yahoo.com.cn
  谢谢了!!!!!!!!!!!


--  作者:dingcai
--  发布时间:7/11/2005 4:08:00 PM

--  
楼主知识很丰富呀
--  作者:mylvchao63
--  发布时间:8/1/2005 3:22:00 PM

--  
看来自学成才这句话是不对地。。。。。
--  作者:lrg
--  发布时间:12/2/2005 11:52:00 PM

--  
很好!非常感谢!

--  作者:vonvon
--  发布时间:12/5/2005 7:52:00 PM

--  
对我的毕业设计很有用,谢谢
--  作者:nksky
--  发布时间:12/6/2005 7:22:00 PM

--  
楼主, “第二,易表义。XML具有基于Schema自描述语义的功能,容易描述数据的语义,这种描述能为计算机理解和自动处理。” xml表述语义信息的功能达不到这个水平吧?这也是owl产生的一个重要原因,对不?
--  作者:nmgyjw
--  发布时间:12/20/2005 4:09:00 PM

--  
哦,慢慢研究一下,总结的非常好!!!
--  作者:nmgyjw
--  发布时间:12/21/2005 8:09:00 AM

--  
很好呀!回去看一下。谢谢了。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
355.469ms