TechTarget中国网站推荐

DB2 9 XML性能优势(三)

2008-8-22  选择字号:  | |
打印本文章

  使用 DMS 和更大的页取得更好的 XML 性能。数据库管理的表空间(DMS)可以提供比操作系统管理的表空间(SMS)更高的性能。在 DB2 9 中,在默认情况下新创建的表空间是 DMS。DMS 表空间与自动存储一起使用可以使 DMS 容器随需增长,而不需要人为干预。经验法则是,为 XML 数据选择一个不小于平均预期文档大小的两倍而且不超过最大值 32 KB 的页大小。如果为关系数据和 XML 数据(或者为数据和索引)使用单一的页大小,那么 16KB 或 8KB 的页对于这两种数据类型而言可能都是较好的选择。

  使用XML存储选项:内联、压缩或单独的表空间。如果通过性能分析发现对于 XML 数据需要更大的页大小,而对于关系数据或索引则需要更小的页大小,那么可以使用单独的表空间。当定义一个表时,可以将 “长” 数据(大对象和 XML 数据)转到一个具有不同页大小的单独的表空间中。但是应按常理来考虑。更少的缓冲区池和表空间以及更少的页大小种类,可以产生更简单的物理数据库设计,从而更容易管理、维护和调优。因此,要避免引入多种页大小,除非您知道这样做确实可以带来性能好处。应该使用内联和压缩功能来减少存储开销并提高 I/O 性能。

  配置DB2以便快速地成块插入 XML 数据。传统的插入和日志记录性能调优对于 XML 插入和导入仍然适用。在 DB2 9.5 中,使用装载代替导入。如果表上需要多个 XML 索引,就应该在任何成块插入之前定义它们。这样的话,每个 XML 文档只被处理一次,便可以为所有 XML 索引生成索引条目。如果在填充表之后发出多条 create index 语句,那么 XML 列中的所有文档将被访问多次。

  使用新的快照监视器元素检查 XML 性能。DB2 9 为 XML 数据提供了新的缓冲区池快照监视器元素,它们与用于关系数据和索引的现有计数器相对应。由于关系数据和索引存储在一个表空间内不同的存储对象中,因此它们具有不同的读和写计数器。DB2 9 中的 pureXML 存储为 XML 数据引入了一种新的存储对象(称为 XDA),它也有自己的缓冲区池计数器。

  在研究了 Nicola 的性能提示之后,一定要阅读他关于通过索引改进 XML 查询性能的文章。

  成功带来的喜悦

  DB2 9 pureXML 使香料店和零售公司 Douglas Holding 能够更快地进行销售数据整理和聚合。

  Douglas Holding AG 公司在欧洲和美国拥有超过 1,800 家零售商店。在 2005 年,它启动了一个称为 Operational Data Stage 的项目,其目的是解决现金收据整理和销售信息聚合的主要问题。使用 XML 格式获得数据是一个重要的基础步骤。“灵活性是我们选用 XML 的主要原因,” Andreas Birkendorf 博士(处理公司 IT 需求的 Douglas Holding 分支机构 Douglas Informatik & Service 的项目主管)说,“因为数据源的差异非常大,而且它们的格式还可能会变化,所以我们需要一种非常灵活的接口。”

  这个项目在开始时使用 IBM DB2 Version 8 XML Extender,这是有效的,但是过程很复杂,难以使用。2007 年,IBM DB2 9 pureXML 的出现改变了这种状况。DB2 9 更容易使用,尤其是在 XML 和关系结构之间进行映射方面。与使用 DB2 V8 XML Extender 时相比,性能提高了 20 倍以上。这大大减少了处理时间;尽管 Birkendorf 的团队一度担心如果 Douglas 决定增加数百家商店,他们就会无法承受,而现在 Birkendorf 确信 “现在我们知道我们可以应付。”

  据 Birkendorf 所说,一部分性能改进并非来自物理处理速度的提高,而是由于不再需要完成某些工作。“如果格式发生细微的变化,pureXML 使我们可以更轻松地应对。实际上,有时候我们甚至不需要做手工修改;系统会处理它。”

  Douglas Holding 很早就利用 pureXML 实现了 XML 模型系统,但是这个过程并非一帆风顺。“具有关系数据库背景的人员可能需要调整其思维模式,” Birkendorf 说,“我们早在 pureXML 出现之前就意识到了 XML 的价值;我们知道它正是我们所需要的。”


DB2 9 XML性能优势
 DB2 9 XML性能优势(一)
 DB2 9 XML性能优势(二)
 DB2 9 XML性能优势(三)

原文出处:http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0606schiefer/index.html
来源:IBM    作者:Nelson King    
相关的专家答疑
当要保证用IBM DB2 Universal Database和Borland工具构建的企业应用程序拥有最优性能时,程序员可以利用DB2优化器的能力来处理即使是“难以处理的”SQL语句……。
当您编写访问DB2数据SQL语句时,要确保遵循以下三个编码SQL的准则以获得最佳性能。第一是始终在每条SQL SELECT语句的SELECT列表中只提供确实需要检索的那些列;第二是……
了解SQL编码以获得最佳性能的基础知识将使您的Delphi企业应用程序的性能立即得到增长。但我只揭露了冰山一角。您需要学习日益增多的SQL的复杂类型……
据国外媒体报道,由于备份出错导致大量数据丢失,美国德州州长里克·裴瑞近日下令暂停向IBM的IT系统转移州档案数据,并对IBM处以90万美元罚金。
剩余谓词是用关系数据服务(RDS)来进行评估的,而且,它在这四类谓词中成本最昂贵。由于相对范围界定谓词和索引参数谓词来说,剩余谓词和数据参数谓词的成本比较高……
本篇文章主要介绍SQL Server数据存储的物理对象和原理,包括SQL Server 2005和2008里的物理数据存储、SQL Server 2008数据类型(即Datetime、字符串、自定义及等)、在SQL Server数据库中加强数据的完整性……
本文为SQL Server 2008初学者指南,主要介绍SQL Server2008 T-SQL支持的基本元素和基本操作。
本篇技术专题主要内容包括SQL Server整合、SQL Server数据库设计灾难、SQL Server数据库查询设计以及SQL Server数据库同步、复制、报告显示。
最新更新
专家答疑
技巧
Brian Peasland
我在使用这个工具的时候就出现了以上的错误。由于出现了这个错误,我就没有顺利地完成备份。你能告诉我是什么原因吗?
Rudy Limeback
我想把这些日期按照月份聚集在一起,这样我们就能查看每个售货员每个月的销售量了。我怎么才能将这些月份的日期聚集在一起呢?
Maria Anderson
我得到了一个错误信息,如“DIM-00019:创建服务错误。”我用你寄给我的解决方案解决这一问题,即:“手动创建和启动服务。”你能告诉我如何手动安装该服务吗?