热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

聚焦 DB2 的XML能力

来源: 作者: 时间:2008-03-03 Tag: 点击:
 自从 IBM 在 DB2 Universal Database 5.0 中引入对象关系技术以来,Internet 技术、分布式计算和最近的可扩展标记语言(Extensible Markup Language,XML)对计算产生了很大的影响。XML 使人们将目光聚焦到以文档为中心的计算、新的办公文档标准格式以及 SQL 标准的继承者 SQL/XML:2003 上。

  内容管理和面向 Web 的应用程序常常需要存储和检索 XML 数据。XML 为数据集成、过程集成和企业信息集成提供了基础。XML 还为新的分布式计算模型提供了支持,包括 Web 服务、网格服务和面向服务架构(SOA)。

  DB2 9 能同时处理 XML 和 SQL,这是它的一个很大的优点。它支持一个数据库平台同时用于数据处理、文档处理和 SOA。对于经常接触 SQL 和表结构的人来说,XML 为结构化文档思想和新的查询技术打开了一扇门。

  pureXML 的作用

  IBM 提供了 DB2 9 的一个测试活动,使早期采用者能够用新的 DB2 SQL/XML 平台测试他们的软件。在技术采用周期中,早期采用者通常是一些熟练的公司以及开发工具和中间件的独立软件供应商(ISV)。其中一些早期采用者共享了他们在新技术方面的经验。

  其中一家公司就是 Storebrand Group,这是挪威的一家金融服务公司,提供养老金计划、人寿保险、银行业务和资产管理。在挪威,养老金计划是强制性的;1,400 家公司都与 Storebrand 签订了养老金协议。在 1996 年,Storebrand 采用了一种面向服务的体系架构(Service-Oriented Architecture, SOA),这种架构使用标准通用标记语言(Standard Generalized Markup Language,SGML)来格式化显示消息。它使用 DB2 存储用于同步、审计和其他用途的消息。在 DB2 9 之前,Storebrand 将 XML 分解(打碎)或将整个文档存储为 CLOB 列。DB2 9 的 pureXML 技术将 XML 文档存储为它们的本地格式,因此采用这种技术可以带来一些优点。

  Storebrand 的高级企业架构师 Thore Thomassen 说道,以原生的形式存储 XML 可以减少应用程序中的 I/O 代码,而且,与分解或 CLOB 方法相比,这种方法要求的数据库技能更少。DB2 9 的 XML 类型还为搜索和操纵提供了更大的灵活性。“我们有一些案例,在这些案例中,我们知道在一个 CLOB 中有 XML 格式的业务关键数据,但是如果不编写应用程序,就不能访问该数据。”Thomassen 解释道。

  World Wide Web Consortium (W3C) 推出的 XML Query Language (XQuery) 支持根据内容和结构查询文档。为定位文档中的片段,查询需要在一个树型结构中遍历或匹配一个模式的逻辑。SQL INSERT 查询不必维护行之间的顺序,但是在将 XML 文档存储为本地格式时,保持标记的顺序却非常重要。只有保持文档的结构,才能使用文档中的位置作为搜索标准。

  Thomassen 说,使用 XPath 和 XQuery 简化了应用程序的开发,并为 pureXML 应用程序提供了更大的透明性和重用性。他的小组发现 XML 和 SQL 查询混合使用产生的威力 “非常强大”。

  OpenLink Software 是一家专门提供中间件的独立软件供应商(ISV),这家公司也测试了 DB2 9。该公司的 CEO Kingsley Idehen 这样解释其价值:“DB2 中的本地 XML 数据类型支持对于新兴的跨 ODBC、JDBC 和 ADO.Net 的数据访问中间件层的 SQL 与 XML 集成标准作出了重大贡献。”

  DB2 从 1999 年开始就支持 XML,那么,DB2 9 的革新之处在哪里呢?

  pureXML 和 DB2 XML Extender

  IBM 早期对 XML 的支持以 DB2 XML Extender 的形式提供,DB2 XML Extender 将 XML 当作 xcolumns 或 xcollections。随后又出现了用于处理消息队列中 XML 的存储过程和函数。DB2 9 则引入了一种新的 XML 存储模型。

  DB2 XML Extender 把 XML 当作 CLOB 或可变长度的字符串(VARCHAR),而 DB2 9 则将 XML 实现为一级数据类型。这意味着您可以在数据定义语言(DDL)语句、存储过程和函数(包括 SQL/XML:2003 XML 发布函数)中使用 XML 类型。虽然 IBM 将继续支持 DB2 XML Extender,但是 DB2 XML Extender 的功能已经被 DB2 9 中的 pureXML 支持取代。

  pureXML 架构

  将 XML 集成到 SQL 平台的一种常见方法是通过映射到关系代数来支持 XML 查询。这种方法使用已有的关系引擎,DB2 XML Extender 从 DB2 UDB 6.1 开始就使用这样的关系引擎。在 DB2 9 中,一个引擎(为 XML 和关系数据进行了优化)处理关系和 XML(分层)数据;然而,这两种数据类型处在不同的存储层中。新的引擎将 XML 文档看作一个经过解析的、带注释的树型结构,并支持文档片段的索引。

  与新的 XML 数据存储一道,DB2 9 支持 SQL/XML:2003 XML 类型、SQL/XML 函数和 XQuery。DB2 9 让您可以单独使用 XQuery 或 SQL 查询 XML 数据,还可以使用调用 SQL 的 XQuery 或者执行 XQuery 表达式的 SQL/XML 函数来查询 XML 数据。
上一篇:没有了
下一篇:DB2远程创建数据库
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册