IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management | XML  >

将 XML 用于业务优化

使用 XML 优化业务

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

英文原文

英文原文


级别: 初级

Scott Bisang , 市场策划专家, IBM

2009 年 6 月 15 日

精通新业务语言的用户将实现更加简单的 IT 环境,更加轻松的数据集成,以及更加灵活的基础结构。
来自 IBM Database Magazine 中文版。

自从主数据库管理系统中引入了本机 XML 支持之后,使用这种流行格式的业务信息量直线上升。原因非常简单:无论是用作行业标准的数据交换格式还是应用程序开发人员之间的交换格式,XML 都是无与伦比的。大部分行业都开始使用 XML 开发数据交换的标准,有些 XML 标准(比如用于业务数据和财务数据的可扩展业务报告语言,XBRL)已经在所有行业广为流传。

但是由于最初存储和管理 XML 格式信息的比较困难,XML 十年的飞速发展期几近停滞。这是因为公司在开发应用程序存储或检索 XML 数据的时候,往往使用他们现有的基础设施,包括文件系统和关系数据库。而这些系统不是针对 XML 设计的,得到的解决方法往往需要昂贵的转换,处理开销非常大。有些公司尝试使用纯 XML 数据库,却发现在存储库中隔离 XML 数据会创建另一个需要单独维护的系统。

IBM 在 DB2 中构建了本机 XML 支持,支持使用本机格式以及关系格式的数据存储和管理 XML,从而解决了这些困难。该 XML 功能名为 DB2 pureXML,可以缩短开发时间、降低维护成本、在存储和检索数据时极大地改进应用程序性能。

本机 XML 的好处

使用本机格式存储 XML 数据的理由很多,如以下客户场景所示。

简化 IT 环境。通过使用 DB2 pureXML,挪威一家金融服务公司 Storebrand Group 将读写数据库所需的代码行减少了 65% 。由于开发、测试和维护的代码大大减少,开发人员可以将精力花在更具生产力的任务上。此外,Storebrand 发现模式更改现在变得很容易。过去,添加一个字段需要花费一整天的工作(开发和测试),还需要一个星期的时间来实现,因为涉及到数据库更改。现在,开发人员只需要更改指向 DB2 XML 配置文件中模式的指针即可,而这只需要 5 分钟。

在本地存储选项出现之前为处理 XML 创建了临时解决方案,这导致以前对模式更改需要花费很多工作。一种称为 “切割(shredding)” 或 “分解(decomposition)” 的方法可以将 XML 映射到表格格式。另一种方法是将 XML 数据放入到一个表格的大对象 (LOB) 中。这两种方法都是有效的,但有一个很大的缺陷,这个缺陷在 XML 数据增多时尤其明显。

切割是一种常用的方法,可以快速从数据库中检索单片信息。但是,这种快速查询性能必须将 XML 数据映射到表格才能实现,此外还有将信息插入数据库相关的处理开销。如果必须从切割的字段重新创建原 XML 数据,那么成本还将上升。

在切割 XML 之前,必须设计关系模式。该过程需要大量员工,虽然部分流程可以使用现成的工具自动完成。但是,得到的表格必须经过仔细的检查和优化。设计关系模式之后,必须设置将 XML 映射到关系模式的环境。然后开发和测试使用数据的代码(该代码通常很复杂,因为它需要使用多个 JOIN 连接的臃肿的 SQL 语句)。

将 XML 数据分割到关系模式的开销还仅仅是整个成本的一部分。 XML 模式更改是无法改变的事实,这会扰乱关系模式、映射流程和应用程序代码。这是许多组织采用 DB2 pureXML 存储实现的原因。

举一个实例来说明,请考虑用于复杂金融产品的金融产品标记语言 (FpML) 行业标准。使用 DB2 pureXML,处理 FpML 消息简单直接:只需在一个表格的 XML 列中存储完整的消息即可。但是,在某些实现中,使用切割存储 FpML 需要处理 475 个彼此隔离的数据库表格。维护 475 个表格比管理一个表格要复杂的多。

大大提高 IT 生产力。UCLA Medical Center 使用 DB2 pureXML 管理病人医疗记录、诊断图甚至手写的处方。医院员工将信息插入 Patient Oriented Document 系统,该系统使医生可以快速访问信息,以确保高质量的医护服务。通过使用 DB2 pureXML,UCLA 大大提高了生产力:某些 IT 项目所需的时间从几周减少到几个小时。

使用 DB2 pureXML 存储库的有点之一是,在存储或检索之前数据不需要特别处理或转换。 XML 直接存储在存储库中,可从同一个位置检索。处理 XML 数据的简单方式减少了许多通用任务所需的时间。此类时间节省在如今 IT 环境中的价值越来越大。

改进信息整合。中国华电公司 (CHD) 管理着 100 多个公共事业和金融服务公司,它使用 DB2 9 创建了灵活的数据分析和报告系统。该系统管理着来自各个设施的数据,并移除和添加资产。每个 CHD 分支的报告数据都存储在 DB2 pureXML 中。 DB2 pureXML 适应各种模式和报表格式,同时使各组织的数据变得可访问,这改进了业务和 IT 职员之间的交流。 DB2 pureXML 使它能够轻松添加、更新和删除报告的项。详细的生产和成本信息可以使用公司的分析和报告应用程序进行整合和显示。

集成各业务单位和位置的信息可能很困难。一个灵活、自动化、可扩展的信息报告平台使该流程变得更易于管理。通过构建一个更好的信息报告系统,CHD 使业务更具洞察力和敏捷。它还降低了实现应用程序更改的成本和劳动力,提高了对法规和管理报告需求更改的响应。

支持 XML 模式灵活性和升级。评估从属于 XML 模式的 XML 存储选项时还要考虑一个问题,即定义 XML 数据的结构。 XML 模式描述数据中出现的 XML 元素和属性,它们出现的地方以及出现的频率。验证 XML 数据意味着确保在 XML 模式中设置遵守规则的 XML 数据。

XML 模式定义特定应用程序场景(比如金融交易、医疗记录、保险索赔)所用的协商 XML 标记词汇。但是该词汇表和它所支持的应用程序场景可以随时更改,因此模式灵活性和模式升级非常重要。为了解释这些特性的必要性,让我们看一组场景。

在美国,许多税务机关都以 XML 格式存储税收表格中的信息。税收表格几乎每年都会变化,更改税收表格意味着要更改 XML 模式。但新的模式不一定适用于所有的记录。相反,在创建记录时,记录应该基于现有的模式进行验证。在这种情况下,模式灵活性(即适应各种 XML 模式需求的能力)将非常重要。应用程序必须能够根据不同的模式验证数据库列中的单元格(或者根本不验证)。

另一个常见的场景涉及到存储遵从某个主要 XML 行业标准的消息(例如,医疗健康标准 HL7 或 FpML)。行业标准不断变化;迁移到新版的 XML 标准往往意味着需要新的 XML 模式。

如果数据库管理系统支持迁移到新模式而不需要验证或更改整个现有的 XML 文档,那么迁移到新版的 XML 标准会更加简单。例如,如果数据必须遵守新的 XML 标准,那么数据库管理系统应该确保现有数据(通常根据旧版标准的 XML 模式进行验证)也遵守新的 XML 模式。这种数据服务器特性称为兼容模式升级。 [ 注意:不兼容模式升级也是可能发生的 ] 。 DB2 pureXML 使处理 XML 模式灵活性和 XML 模式升级变得很容易。





回页首


新的业务语言

尽管 XML 一度被视为很难处理,但它还是成为了业务流程的关键元素,XML 数据量每天都在增长。 DB2 pureXML 保留了应用程序喜欢的 XML 特性,同时避免了曾经限制其发展的笨拙、复杂的技术。得到的是一个更加灵活、高效的 IT 环境,可以快速适应不断变化的业务需求和机会。





回页首


附录

完整的 XML 工具箱

DB2 pureXML 是 XML 数据持久性的一次飞跃。由于 pureXML,许多组织在性能和生产力方面都有了极大的提高。

尽管如此,在存储 XML 数据时,pureXML 只是工具箱中的一个工具而已。 DB2 pureXML 可能是最重要的工具,但有时其他在 DB2 中存储 XML 的方法可能会更好。有时,最好以 CLOB 或 BLOB 形式存储 XML 数据;有时使用切割更好。

IBM 的 Conor O'Mahoney 是 Native XML Databases 博客背后的一支创造性力量,介绍如何利用各种选项,并提供了何时使用哪个选项的清晰说明,最新文章可访问 ibmdatabasemag.com/db_area/archives/2009/1 。

管理海量 XML 数据

XML 实际上已经成为数据交换、面向服务模式 (SOA) 和基于消息的事务处理的标准。公司在积累大量 XML 数据时,他们需要一种有效的方式来存储、编排索引、查询、更新和验证 XML 文档。 DB2 pureXML 提供了解决这种挑战的功能。通过业内第一个 TB XML 数据基准测试,Intel 和 IBM 联合起来演示了 XML 超强的处理能力。

基准测试

TPoX (Transaction Processing over XML, http://tpox.sourceforge.net) 是一个开源应用程序级别的 XML 数据库基准测试,可以模拟财务应用程序场景。在线经纪系统中客户信息、账户和证券买卖订单都使用 XML 格式显示。 1TB 的基准缩放比例由 36000 万个 XML 账户组成。在 OLTP 工作负载下,200 个并发用户执行 70% 的混合 SQL/XML 查询和 30% 的插入、更新和删除操作,没有延迟。

测试系统为 Intel Xeon Processor 7400 Series 服务器,运行 64 位 Linux 和 DB2 9.5 Fixpack 2 。系统有 4 个 6 核 CPU,时钟速度为 2.67 GHz 。该系统的内存 64GB,有 135 个磁盘,该配置很适合目标工作负载。 DB2 数据库使用 16K 页面大小、自动存储、自动调优,所有内存和配置参数都设置为自动。 XML 内联和压缩对于降低 1TB 原始 XML 数据的存储占用量很关键。所有系统配置和测试都由 Intel 在 Intel 实验室完成。

评分

组好数据库之后,DB2 压缩将 1TB 的原始数据减少了 64% 。这种压缩可以避免 I/O 瓶颈,实现足够的缓冲池命中率。在该数据库中,混合 TPoX 工作负载实现了每秒 6,763 事务的峰值吞吐量。其他测试检查了插入性能的增加。向组合数据添加更多的 XML 文档时发现吸收率为 ~100GB/ 小时,最高为每秒 11,900 XML 插入。

请参考 Intel Corp 的 Agustin Gonzalez 所写的全文。 IBM Silicon Valley Lab 的 Matthias Nicola 在 ibmdatabasemag.com/db_area/archives/2009/1 完整介绍了系统和数据库配置的详细信息,还包括其他可扩展结果、字符和有价值的课程。

Intel® Xeon® Processor 7400 Series 是 Intel Corporation 在美国和其他国家的注册商标。所有性能结果都是 Intel 在 2008 年 9 月 2 日的内部测试中取得的。不同的系统和配置可能得到不同的结果。

其他名称和品牌可能是其他公司的资产。

XML 和 DBA

XML 由于在行业和技术标准以及建模内部业务数据中的角色,它的使用率正在不断上升。在环境中处理 XML 数据需要 DBA 。

DB2 9 pureXML 使得在 DB2 数据中存储、管理和查询 XML 变得更加简单。通过使用现有的 DBA 工具和技能,DBA 可以在 DB2 数据库中包含 XML 数据。实际上,选择 XML 作为存储格式和事务格式可以让 DBA 更加轻松,因为数据结构更改是不可避免的,但不需要更改数据库。纽约税收部门实现了基于 XML 的解决方案 —— 他们使用 DB2 pureXML 自动化税收流程,从而大大提高了效率。

通过学习更多有关 XML 的知识,DBA 可以扩展他们的作用范围,学习新的技能,增加他们的价值。使用 pureXML 时,DBA 可以更多地依赖现有的知识。但是通过学习更多有关 DB2 pureXML 的知识,他们可以为应用程序模式做出贡献,比如端到端的 XML 流程的好处,保持 XML 完整与 “切割” 之间的平衡,使用 XML 模式验证各个文档等。 DB2 pureXML 可以有效地在一个动态企业中管理 XML 数据,为这些选择提供有力补充。

参考 Bryan Patterson 和 Dexiong Terry Zhang 在 ibmdatabasemag.com/db_area/archives/2009/1 的在线文章,以了解:

  • 在数据库中存储 XML 将如何影响 DBA
  • DB2 pureXML 如何管理 XML
  • 使用 DB2 pureXML 时如何利用现有的 DBA 技能


参考资料

学习

获得产品和技术

讨论


关于作者

Scott Bisang 是 IBM Information Management 小组的市场策划专家。




对本文的评价








IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款