论文-xml在数据库应用中的性能问题初探

上传人:wm****3 文档编号:43807460 上传时间:2018-06-07 格式:DOC 页数:9 大小:52.58KB
返回 下载 相关 举报
论文-xml在数据库应用中的性能问题初探_第1页
第1页 / 共9页
论文-xml在数据库应用中的性能问题初探_第2页
第2页 / 共9页
论文-xml在数据库应用中的性能问题初探_第3页
第3页 / 共9页
论文-xml在数据库应用中的性能问题初探_第4页
第4页 / 共9页
论文-xml在数据库应用中的性能问题初探_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《论文-xml在数据库应用中的性能问题初探》由会员分享,可在线阅读,更多相关《论文-xml在数据库应用中的性能问题初探(9页珍藏版)》请在金锄头文库上搜索。

1、毕业设计(论文)题 目: XMLXML 在数据库应用中的性能问题初探在数据库应用中的性能问题初探专 业:_年级:_学 生: 学号:_指导教师:_完成日期: 年 月 日- 2 -摘摘 要要本文围绕将 XML 用于数据库应用中所遇到的问题,尤其是性能问题,进行了一些讨论。并通过一个试验程序,具体考察了 XML 和关系数据库在处理较大规模数据(1 万条记录以上)时性能上的差异。最后,对于 XML 在这个领域内的应用,给出了一些探讨性的结论。关键词关键词: :XML 数据库 性能 Web目目 录录第一章第一章 XML技术简介 41.引 言 42.XML简介 4第二章第二章 XML技术与数据库应用 51

2、.Internet时代数据库技术所面临的问题52.XML在数据库应用中的性能问题 5第三章第三章 XML与关系数据库处理对比 61.测试程序与试验平台62.试验的结果63.硬件、软件环境的影响 7 4.XML文档的处理方式与数据库管理系统操作只之间差别 7第四章第四章 XML文档在装载和转储时的开销 7结束语结束语 8参考文献参考文献 9致致 谢谢 词词 9- 4 -第一章第一章 XMLXML 技术简介技术简介1.引 言XML 技术自出现以来,发展非常迅速,在许多领域内得到广泛的支持而有着广阔的应用前景。例如电子数据交换、电子商务等等更是把 XML 作为一种基础性、支柱性的技术来看待。然而,应

3、该指出,XML 本质上是一种描述性的标记语言,是一种更好地表示信息的手段。同时,这也意味着 XML 可以是用于信息存储和管理的一种方式,正如同传统的数据库技术一样。数据库技术及其应用系统诞生于 60 年代。随后,经历了从层次数据库、网状数据库到关系数据库以及面向对象数据库的发展,数据库及其管理系统已成为计算机信息系统中的重要基础和支柱。90 年代以来,Internet 和 Web 的飞速发展使人类社会的信息量以指数膨胀,而对信息管理和信息交换的需求更是空前强烈和迫切。这时,已在传统的商业和事务处理等领域内趋于成熟的数据库技术,面临着许多新的问题和挑战。 (注:本文中关于数据库技术的讨论侧重于关

4、系数据库)XML 的一个重要特点是它的结构性,即它可以方便有效地表示结构化数据,这就使得 XML 可以作为表示和存储数据的手段。因此,目前有不少将 XML 用于数据库应用的研究正在进行中。本文即是在这个方向上做了一些初步的探索,尤其关注于 XML 在数据库应用中的性能问题。2.XML 简介XML 推荐标准 1.0 版发布于 1998 年 2 月,之后,迅速在全球掀起了 XML 应用的浪潮。简要地讲,XML是一种描述型的标记语言,与 HTML 同为 SGML(标准通用标记语言,一种功能十分强大但也非常复杂的标记语言,是 ISO-8879 国际标准)的一种应用。设计之初,XML 的目标之一是取代

5、HTML 为新出现的复杂的Web 应用提供标准的 Internet 语言。然而,由于 XML 在可扩展性、可移植性和结构性等方面的突出优点,它的应用范围早已突破了 HTML 所达到的范围。今天,XML 在很多领域中崭露头角,这其中包括传统的数据库技术的范畴。例如,人们开始考虑用 XML 文档来存储、组织和管理 Internet 上浩如烟海的庞大信息资源。但是,XML 是否能够胜任所有这些场合?这正是本文要探讨的一个问题。下面先对 XML 作一个简要的介绍。一篇 XML 文档由标记和内容组成。XML 中共有六种标记:元素(elements) ,属性(attributes) ,实体引用(entit

6、y references) ,注释(comments) ,处理指令(processing instructions)和 CDATA 段(CDATA sections) 。其中,元素是标记的最常见的形式,由尖括号分隔,和人们熟悉的 HTML 中的标记看起来没什么两样。大多数元素标识它所包含的内容的性质。XML 与 HTML 最大、也是最显著的不同是 XML 文档中引入了“文档类型声明” (Document Type Declarations) 。DTD 使文档可以与分析器交流关于它的内容的元信息。元信息包括:被允许的标注的次序和嵌套,属性值和它们的类型以及默认值,可能引用到的外部文件的名字和它们

7、是否包含 XML 可能包含的一些外部数据(非 XML)的格式,以及可能遇到的实体。DTD 的出现,赋予了 XML 文档可扩展性、结构性和可验证性。正因为如此,XML 具备了类似于数据库的一些性质,人们可能利用 XML 来组织和管理信息。与此同时,又可以与 HTML 一样在浏览器中方便地表示,在 Internet 上高效地传递和交换。考虑到与 HTML 的兼容,DTD 并不是 XML 文档必须的成份。具有DTD 的 XML 文档称作“Valid” ,否则就是“Well-formed” 。目前,处理 XML 文档的方式主要有 SAX 与 DOM 两种。SAX(Simple API for XML)

8、是一种基于流的、以事件处理方式工作的接口。DOM(Document Object Model)则是在对 XML 文档进行分析后,在内存中建立起一个完整的树的结构,然后在此基础上进行各种操作。简单地比较来看,SAX 对系统资源要求低,速度快,但对文档的操作是只读的;DOM 的处理能力强大,但要求大量的系统资源,尤其是对于大的文档。第二章第二章 XMLXML 技术与数据库应用技术与数据库应用1. Internet 时代数据库技术所面临的问题在这里我们并不会去过多地探讨数据库技术本身,而只是指出数据库技术在 Internet 应用、Web 应用中所面临的问题。同时,这也解释了将 XML 用于数据管理

9、的原因和动机。传统数据库的应用领域主要是针对商业与事务处理。Internet 时代到来以后,Web 改变了许多东西,正如它给数据库技术提出了一个必须面对的重要问题:即如何有效地存储和管理 Web 上以指数增长着的数据(文档) ,使它们既能被高效地操作和维护,又能在 Web 这个平台上方便地表示和交换。当前,典型的问题有(当然这绝不是全部):1.将现有数据库中数据转换成适于 Internet 和 Web 的形式,需要相当的工作量。时至今日,虽然从 CGI,Server API,Scripts 到 Java 等等出现了许多解决方法,并且已在实际应用中取得了很大的成就,但仍有问题存在。2.传统数据库

10、中的数据以二进制码的形式存储,并且不同的数据库管理系统有各自的专有格式,这既带来了表示上的困难,更是进行交换的一大障碍。而随着网络和 Internet 的发展,数据交换的能力已成为新的应用系统的一个至关重要的要求。当然,我们也已经看到,数据库技术正在积极地吸收和利用 Web 方面的新技术。当前主流的数据库产品都宣布了对 XML 的支持。但是,数据库管理系统(DBMS)与 XML 的这种捆绑是否能够充分发挥效率,还需要在实际中检验。本文中,我们将从另一个角度来试验,即,完全基于 XML 来实现数据管理和操作。2. XML 在数据库应用中的性能问题这里,我们通过一个简单的例子来考察 XML 在处理

11、典型的数据库应用时的表现。我们所要管理的信息是一个名单,每个记录是一个名字,包含姓(LASTNAME)和名(FIRSTNAME)两个字段。这个名单在关系数据库中就是一张再简单不过的表了,而在 XML 中,我们需要下面这样一个DTD:- 6 -一个记录则这样表示:FranklinTom至此,我们就有了一个存储名单的 XML 文件,类比于数据库中的一张表。但是,处理 XML 文件却远不象用 SQL 操纵数据库那么简单。由于 SAX 对 XML 文档的处理是只读的,我们必须采用 DOM 来完成查询、插入、修改等各种操作。这里,我们使用 Java 语言,利用 Microsoft 的 MSXML 包,来

12、实现这个程序。第三章第三章 XMLXML 与关系数据库处理对比与关系数据库处理对比1. 测试程序与试验平台在这个小测试程序中,我们只实现了对应最基本的数据库操作的几个功能。然后,作为对照,在Oracle 系统中建立了包含同样数据的一张表,用 SQL*Plus 对表进行操作。需要说明的是,试验在时间测量上是比较粗略的,采用秒表测算从命令提交到结果返回的时间差。由于我们主要侧重的是数据库与 XML 之间的相对比较,而不是各自的绝对数值,所以这样做基本可以满足要求。试验的平台是:Oracle 系统运行于 Sun SPARC Station 20,Microsoft Java 虚拟机运行于 Penti

13、um 233 PC 上。2. 试验的结果如下:操作Oracle/SQL*PlusMSXML/JavaInsert 10 records1 秒1-2 秒Delete 10 records1 秒1-2 秒Update 10 records1 秒1-2 秒Select1 秒1-2 秒表 1 关系数据库和 XML 处理 100 条记录时的性能比较操作Oracle/SQL PlusMSXML/JavaInsert 100 records1 秒16 秒Insert 1000 records1-2 秒17 秒Delete 100 records1 秒19 秒Delete 1000 records1-2 秒2

14、2 秒Update 100 records1 秒20 秒Update 1000 records1-2 秒22 秒Select1 秒22 秒表 2 关系数据库和 XML 处理 10000 条记录时的性能比较从上表可以看出,XML 在处理规模稍大的数据时比关系数据库系统要慢很多。设想在一个 Web 站点上,这样的响应速度肯定是无法接受的。但是,在对上面的数据作出解释时,我们也要考虑这样一些因素:3. 硬件、软件环境的影响:首先,在这个试验中,对比的双方使用了不同的计算机,不同的操作系统。其次,处理 XML 文档所使用的编程语言 Java 和接口库 MSXML 的性能问题,都有可能对最后的结果产生影响。4. XML 文档的处理方式与数据库管理系统操作数据表的方式之间的差别:试验中对 XML 文档的处理方式是在每次操作前将其装载,然后对内存中的树结构进行操作,最后将结果写回磁盘上的文件。DTD 在每次装载的时候都要被分析(本试验中还只是一个最简单的DTD) ,而向文件系统转储的时候更是要根据文档的结构决定适当的标记。这些操作是相当费时的,而数据库管理系统对表的操作显然不是这样。第四章第四章 XMLXML 文档在装载和转储时的开销文档在装载和转储时的开销考虑到 XML 文档在装载和转

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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