原生XML数据型态与关系型数据库合作紧密

 
   | |

导读:原生XML数据型态与关系型数据库合作紧密,XML比关联性数据库更具弹性 ,XML透过元素和属性描述数据,以及不需转译编码的文字型态,保留XML原生数据格式成为主流。

关键词:XML 数据型态 数据库 数据 数据格式

 
正在加载数据...

  从早期将XML转换为关系型数据表或大型对象,到今日转向原生XML数据型态,关系型数据库与XML之间的合作日益紧密。

  10年前XML开始起草并向W3C提案,而在1998年后成为W3C的标准。事隔10年之后,XML已经随着网络应用日益普及,更在Web Services和SOA推波助澜下,可以预见XML的角色将会更形重要。

  观察XML的重要发展趋势之一,是XML和关系型数据库的合流。IBM去年6月在美国发表的新版本数据库DB2 9.0,便以原生XML数据型态和存取技术作为改版重点之一。

  事实上,微软于2005年年底推出的SQL Server2005同样也在XML上下了一番功夫,改变过去将XML转换成关系型数据表的存放方式,让开发人员可以用XML的方法使用储存在数据库中的XML文件或 片段。其它如Oracle或Sybase等数据库也都具备在数据库中处理XML的技术和工具。由于XML部分技术仍在审议,因此每家数据库厂商除对标准的规格支持外,也各自发展不同的实作方式。

  XML比关联性数据库更具弹性

  就数据储存而言,关系型数据库已经是相当成熟的应用,从80年代商用产品出现至今,早已深入企业储存及数据应用的核心。相较之下,XML部分技术尚且在发展阶段,为什么关系型数据库竞相拥抱XML呢?

  比较两者处理数据的方式,关系型数据库是透过详细定义和控制结构化数据的方式,达到数据增、删、查询的目的。因此它是以字段数据型态的精确定义,将数据以列(row)的方式一笔笔储存,再透过数据表之间的互相关联,建构出数据和数据结合后的复杂结果。企业在日常营运可以仰赖这种方式来储存数据,像是ERP、CRM这种应用程序产生的数据,都可以透过数据库来储存。

  由于XML是以阶层式的树状结构作为储存架构,透过元素(Element)和属性(Attribute)来包含数据,再利用XML schema控制数据的正确性。这种架构特性,让XML随时可以新增字段,只要吻合XML schema的定义,字段便可以弹性置入。相对而言,关系型数据库一旦要修改字段,牵动的范围相当大,既会影响到过去的数据,与其它数据表的关系也必须一并思考在内,在变动的弹性上较小。由于企业内产生的数据并非总是这么规矩,一旦遇到非结构化的数据型态,关系型数据库便显得左右支绌,施展不开手脚。

  此外,XML透过元素和属性描述数据,以及不需转译编码的文字型态,让它可以不受操作系统和应用程序的限制,在数据交换上相当容易进行,而且它的内容可以被人类解读之外,也能被机器或应用程序所辨读,微软在Vista或新版本的Office上,就大量应用XML作为应用程序的设定或文件的产出格式。

  鉴于这些XML的优势,可以解决关系型数据库在应用及储存上的不足,因此传统数据库大厂纷纷实作出支持XML的方式,让企业的资料应用可以更为全面。

  保留XML原生数据格式成为主流

  关系型数据库在支持XML上大致有二种方式,一种是将XML拆解成关系型数据库的运作逻辑,另外一种则是保留XML原有的运作方式,后者又称之为原生XML数据库。

  早期关系型数据库的作法趋向前者,将XML的树状结构数据拆解成数成关系型数据库的型态之后再存入数据库,一旦需要存取时,再透过自订支持XML查询的SQL语法将它组合、还原成XML文件。另外一种原生型数据库的做法,则是保留阶层式的XML格式存进数据库,并且利用XML的树状节点特性,进行查询节点数据或新增、删除数据。

  以SQL Server为例,在2000版本时,支持XML的方式便是将XML数据转成关系型数据的存放方式,无论是储存或查询都还是使用关系型引擎为主。而SQL Server2005遵循W3C InfoSet规格,以特有的内部结构存放XML文件,并保存XML文件语意。新的XML技术可以透过变量或数据域位定义XML Schema,验证XML数据输入或更新时的正确性。此外可以利用业界标准XQuery进行查询,也引进XML索引技术,提升查询效率。

  无独有偶,IBM的DB2 9.0也提出了pureXML的技术与概念,诉求原生的XML数据型态,一改过去作法,直接保留原来树状结构的数据型态,同时也支持XML索引功能和XQuery查询。此外,在查询技术上,DB2 9.0整合middle ware的技术,让开发人员可以忽略底层的数据是关系型数据库或XML,开发人员可以透过擅长的SQL或XQuery语言进行查询,取得所需的结果。关系型数据库的成熟度加持XML的阶层式特性协助关系型数据库在处理数据时更为全面,同样的,关系型数据库也能为XML带来好处。

  对于XML的储存、使用而言,由于它本身是档案型的数据储存方式,在安全管理的机制上并没有良善的处理方式,一旦储存在数据库中,就可以享有资料库本身的安全机制。透过关系型数据库的查询语法,也可以和其它相关记录字段作交易管理,数据库的写入锁定机制还可以解决多人作业时写入冲突的问题。

  此外像是搜寻、更新、备份/还原、交易管理和记录稽核等,XML数据同样可以享受数据库带来的这些管理机制。过去需要程序开发人员劳心劳力之处,透过数据库本身的机制,就可以强化XML的体质。

  储存为XML或关系型数据的裁量

  XML与关系型数据库的合流,固然为企业数据带来更全面的应用方式,但对数据库开发人员而言,既然数据库同时可以储存关系型结构化的数据与XML阶层式的数据,如何裁量数据储存的方式,也形成了一个挑战。由于XML具有跨平台、跨组织交换数据的特性,又具有阶层性的弹性结构关系,因此企业的数据如果有B2B的应用需求或跨系统的交易机会,XML是相当理想的储存方式。另外如果数据结构有经常变动的可能,关系型数据库显然较难胜任,XML就可取而代之。

  这些透过XML数据能作更有利的应用,那么储存为XML数据型态就势所必然。相较之下关系型数据库在技术的成熟度上,或者查询速度上都是更有效率的数据处理方式,如非必要,利用原来的结构化储存方式即可。

原文出处:http://www.erpworld.net/article/2008-11-04/1104250452008.shtml
 
来源:BLOG    
 
 
 
 
 

XML与XML Schema

 
Web服务描述语言,或者缩写为WSDL,自2001年开始已经在流传了,当他的第一个版本被W3C发布,始终处于开发状态。
 
我们应该知道常常不是所有技术适应所有工作。但是我承认XML可能更接近“X”代表“可扩充的(eXtensible)”。毕竟这更像是一种为了适应……
 
XMI(基于XML的元数据交换)使用扩展标记语言(XML),为程序员和其它用户提供元数据信息交换的标准方法。XMI的目的在于帮助使用统一建模……
 
可扩展标记语言(XML,Extensible Markup Language)是一种创建公共信息格式并在万维网、内部网等网络中共享数据和格式的灵活方式。
 
可扩展商业报告语言(XBRL,Extensible Business Reporting Language)是一种专用于商业数据和财务数据电子传输的、基于可扩展标记语言(XML)的计算机语言。

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录