科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道XML成为DB2 9数据库的一种内置数据结构

XML成为DB2 9数据库的一种内置数据结构

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

随着ERP、CRM、SCM等信息系统的广泛应用, IT带来的是效率、便利和灵动的同时,也不得不经受企业业务性质的不断变化、各种业务不断地整合的新挑战,只有将面向不同业务层面的IT应用端到端地集成起来,才能把握业务的整体需求趋向,随需应变正在成为满足业务需求的根本要素。

作者:IBM 来源:51CTO.com  2007年9月11日

关键字: XML DB2 数据结构

  • 评论
  • 分享微博
  • 分享邮件

能否让企业从IT应用中真正体验随需应变,将是未来衡量一套信息系统是否能真正胜任企业未来要求的标准!“面向服务的计算架构-SOA”也就在当前时代要求下呼之欲出了!随着SOA在企业IT架构中的重要性日益凸显,XML因其天然的可扩展、与平台无关性和完全兼容Unicode编码方式等特性,已然成为SOA的核心。于是对XML的各种支持的需求也才真正到来。

正当业界欢庆SOA时代到来的时刻,也立即感到了SOA带来的新挑战。IT英雄们面对着等待整合的企业级应用时,手中持有着BPEL(Business Process Execution Language,即业务过程执行语言)的强大力量,只因没有正确的XML理论指导,面对着系统的复杂性会一筹莫展,有时甚至连分析问题的头节点都无法把握;IT英雄们面对着按需变动的企业级应用时,也会猛然间发现曾经无所不能的WSDL是何等的浩大繁琐,一个简单变动所带来的巨大的修改工作量远远超过改动普通程序的工作量,而且稍有不慎,一个有机的整体就有可能被一个轻微bug所破坏,影响整个IT基础构架的运行。这种对缺陷放大的效果,直接导致IT英雄们花费更多的时间检测和更正代码,降低实现技术所带来的效益,不仅有可能没有达到随需应变的初衷,还让业务更加依赖应用、处处受制于应用,降低了企业核心竞争力。

那么IT英雄们不禁要问,我们到底离SOA还有多远?能否提供一种方式,使我们对于XML的使用就象是传统的SQL数据库一样便捷?能否提供一种方式,使我们对XML的操作,就象是写SQL一样简便?于是真正让我们既享受到SOA所带来的随需应变,还能避免SOA所带来的新弊端?IT英雄们不禁把目光投向了数据库。。。

当前的数据库系统状态

当IT英雄们将最后的眼光投向数据库时,无非就是想审视当前数据库对XML的支持能力。

XML数据库听起来远不像SOA这样前卫,仿佛是一门非常成熟的技术,早在MS SQL server2000、 Oracle9i等这些今天听起来非常成熟的版本,就已经宣称对XML做了很好的支持。但事实呢?首先,这些数据库常常提供两种基本的数据库设计选项支持XML —— 将每个 XML 文档完整地存储为一个大型对象,或者将它 “撕开”,分散存储在多个表的多个列中。在许多情况下,这些选项都会导致性能问题、管理困难、查询的复杂性增加和其他问题。其次,管理和共享 XML 数据的一般方法效果不好,也许文件系统可以应付简单的任务,但是在需要处理大量文档时它们就表现得不好了,并发性、恢复、安全和可用性问题变得难以管理。最后,这些 XML DBMS 在 IT 基础设施中引入了一种新型的环境,但是这种环境还没有经过考验,它的集成能力、需要的人员技能以及未来的生命力还不确定。

很显然,这样的XML数据库是不成熟的,不能过分指望这样的XML数据库解决前现有SOA带来的新挑战。

那么如果眼前的XML数据库,能够摆脱以上的存储结构,把XML真正的作为数据库本地固有结构,使得关系数据与XML具有一致绑定性,让企业按需要变化进行动态调整,以适应变化;如果数据库可以对XML支持到各个级别,并且对外部访问透明,即可以使用SQL又可以使用XQuery对无论是关系数据还是XML进行查询;如果数据库可以对XML数据建立高效的检索机制,粒度达到XML包含的每个元素、属性。那么,期待中的XML数据库定然会对SOA产生核心的支持!随着IBM DB2 9产品的推出,这样的期待变成了现实!

IBM DB2 9 横空出世

<aDB2数据库产品的发展过程 src="/files/uploadimg/20060808/1546400.gif">
DB2数据库产品的发展过程


正如我们所期待,IBM DB2 9代表着26年来信息管理划时代的技术创新,是IBM 领导数据管理走向新的高峰,是IBM持续创新能力的最佳体现!

IBM DB2 9对XML 数据提供了深入的、强大的支持,使其包含:

 新的存储技术:将XML作为数据库的固有结构,可以高效地管理 XML 文档中固有的层次结构。特别值得强调得是,DB2 对 XML 的 “固有” 支持是在对其他技术的现有支持之外提供的,SQL、表格数据结构和各种 DBMS 特性等现有支持仍然存在。因此,用户可以用一个数据库对象同时管理 “传统的” SQL 数据和 XML 文档。而且,可以编写一个查询同时搜索和处理这两种数据形式。

 新的索引技术,可以提高在 XML 文档之间和内部进行搜索的速度。

 新的查询语言支持(对于 XQuery)、新的图形化查询构建器(对于 XQuery)和新的查询优化技术。

 新的管理功能,包括对关键数据库工具的扩展。

IBM DB2 9特性,及对SOA/XML的支持

 XML被整合在IBM DB2 9的各个级别上,更核心的支持了SOA/XML

<a href='http://www.ibm.com/developerworks/cn/db2/zones/db2ii/index_old.html?S_TACT=105AGX52&S_CMP=w-cto' target='_blank' style='font-size:14px;text-decoration:none;color: #0000FF;'>DB2</a> 9数据库查询流程示意
DB2 9数据库查询流程示意


通过上图,我们可以得知,IBM DB2 9使客户机应用程序能够通过它们选择的查询语言 —— SQL或 XQuery —— 同时处理表格数据结构和 XML 数据结构。DB2 中的引擎级组件支持用这两种语言指定的查询。
<a href='http://www.ibm.com/developerworks/cn/db2/zones/db2ii/index_old.html?S_TACT=105AGX52&S_CMP=w-cto' target='_blank' style='font-size:14px;text-decoration:none;color: #0000FF;'>DB2</a> 9数据库的内部示意
DB2 9数据库的内部示意

从而对于一个SOA应用而言,操作XML就象是操作SQL一样简便,直接使得前文中所称述的SOA弊端不负存在。

XML固化存储特性(Native Storage)

XML 文档集合存储在 DB2 表中,这些表包含一个或多个新的 XML 数据类型的列。在创建 XML 列时,无须指定 XML 数据的内部结构。

这样做的好处是什么?

这种宽松的方式给用户提供了很大的灵活性,更容易存储包含不同属性和内部结构的 XML 文档集合;从而从容的处理因业务需求或业务情况变化,有时候可能缺少某些信息,导致XML 文档的属性和结构不一致的情况。

使管理员能够使用熟悉的 SQL 数据定义语言(DDL)语句来创建存储 XML 数据的数据库对象。并且,利用这个熟悉的接口隐藏了一个事实:DB2 以不同的方式存储 XML 数据。它使用新技术来存储 XML 数据的层次结构,并支持高效地搜索原始 XML 数据的所有部分。

为了用户易于集成传统形式的业务数据和 XML 数据,DB2 管理员可以创建同时包含传统 SQL 数据类型列和新的 XML 数据类型列的表。

强大的XML索引

基于XML的索引可以建立在该XML文本的任意元素或属性上,或者建立在两者的混合体上。新的具有XML特性的联合与赋值方法,可以有效降低数据库同一时刻下的I/O负载。

另一个与普通关系数据库索引所显著区别的是,IBM DB2 9的任意一张表中的一行可能会产生多个 XML 索引项,因为一个 XML 文档可能包含零个、一个或许多个与指定的 xmlpattern 匹配的 “节点”。与此相反,非 XML 索引对于表中的每一行只包含一项。这样可以为某些检索全文的程序显著的提高效率。

拓宽查询理念,全方位支持XML查询

IBM DB2 9根据对XML支持的强大特性所要求,拓宽了查询理念,包含新的查询语言功能。应用程序可以自由地使用两种语言的语句: SQL 或 XQuery 搜索数据,甚至一个查询语句可以结合使用 SQL 和 XQuery。这样,XML与传统的关系数据的互操作相互透明,从而对于SOA的支持变的异常突出与简化,真正变成了一款能对SOA核心支持的数据库。

IBM DB2 9还优化这样的查询。DB2 有两个查询语言分析器:一个用于 XQuery,另一个用于 SQL。它们都生成一种通用的与语言无关的内部查询表示。这意味着用这两种语言编写的查询都会从 DB2 的基于开销的查询优化技术获益,这包括高效地重写查询操作符以及选择低开销的数据访问计划。另外,DB2 可以利用新的查询和联结操作符以及新的索引处理技术,为涉及 XML 文档的查询提供更好的运行时性能。

管理支持

提供如此强大的功能,在管理方面肯定是引入了新的挑战,对于一个DB2管理员而言,到底是面对着一个全新的提供着挑战的数据库呢?还是面对着一个更易操作的数据库?让我们了解如下,就可以对这一疑惑有了全面的认识:

DB2 新的 XML 支持包括对熟悉的管理工具的扩展,可以帮助管理员管理调整数据库。例如,备份和恢复设施都支持 XML 列中存储的文档。同样,对 IMPORT 和 EXPORT 的扩展现在可以同时在传统 SQL 数据和 XML 数据上操作。

DB2 的图形化管理工具 DB2 Control Center 使管理员能够浏览包含 XML 数据的表、创建和管理基于 XML 的索引、发出 SQL/XML 和 XQuery 语句以及执行许多其他管理任务。

关于性能监测,相应的 DB2 设施也进行了扩展来适应 XML 数据。这些设施包括 DB2 Snapshot Monitor,它提供对某一时刻 DB2 活动的汇总(即 “快照”);RUNSTATS,它收集 DB2 数据库中存储的数据的统计信息;以及 EXPLAIN,它报告查询优化器为满足给定请求所选择的访问路径。管理员可以通过研究 EXPLAIN 的输出来判断使用了哪些 XML 索引。

结尾

面对当前需要全面支持XML的时代背景,IBM DB2 9 版是 IBM 的第一个 “混合型”(即多结构)数据库管理系统实现。除了支持表数据模型之外,DB2 还支持 XML 文档和消息中固有的层次化数据模型。用户可以在一个表中自由地混合存储传统 SQL 数据和 XML 数据。还可以使用 SQL和 XQuery来查询和处理这两种形式的数据。通过在经过实践检验的数据库管理基础设施上进行扩展,IBM 为 IBM DB2 9 用户提供了同时处理关系数据和 XML 数据的强大支持,为企业运算的随需应变做出了核心的支持!

最后,我们提出一个对比表格,让客观事实来清晰的展现 IBM DB2 9的意义:

流行数据库产品xml特性对比

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章