DB2 9 pureXML与CLOB或分解式XML存储之间的性能对比

和其他数据库一样,DB2 V8 XML Extender提供了两种针对XML的存储和访问模型:XML文档可作为未解析文本完整地存储在CLOB列中,也可以被映射和分解到一套关系表中。这两种选择都有一些已知的性能限制。DB2 9中新的pureXML技术试图通过以其固有的层次格式存储和查询XML的方式来消除这些限制。本文描述了一系列度量方法,这些方法用于确定 pureXML 是否能够提供性能优势,并量化 pureXML和CLOB 或分解式存储之间的性能差异。

简介

DB2 9中的pureXML技术旨在为XML数据管理提供最高级别的性能。本文比较了pureXML技术与字符型大对象(CLOB)和分解式XML存储的性能。许多数据库系统允许将XML数据存储为CLOB 格式,或将数据“分解”到关系表中。DB2 V8 也支持这两种选择(通过 XML Extender),DB2 9中仍然提供了XML Extender,来实现向后兼容性。然而,它们将被 pureXML 特性所取代。

DB2 XML Extender包括一套存储过程、用户定义的函数(UDF),以及用户定义的数据类型(UDT)(这些类型将XML功能添加到核心DB2引擎之上)。XML Extender的过程和UDF中配有 XML 解析器和特定于XML的逻辑,因而能够执行由传统 DB2引擎特性支持的XML存储和检索。您能够使用XML Extender的XML Extender Column 或 XML Extender Collection 特性。

XML Extender Column允许将XML文档完整地存储为未解析的纯文本。此过程非常简单,但是忽略了XML文档的内部结构。您可选择将CLOB列、VARCHAR列或文件系统内的文件用作基础存储。在VARCHAR列中,XML Extender 仅能存储最大 3KB的文档 —— 许多应用程序很难保证满足此限制。高水平的数据库管理员(DBA)能够将此限制提高到32k,但是通常情况下即使是这个最大值,应用程序也无法保证能够满足。外部文件存储更为灵活,但是无法从数据库管理的持久性和完整性中获益。这就是CLOB(能够存储最大 2GB的文档)成为XML Extender Column的最常用选择的原因。本文将在后面探究 XML Extender CLOB列的性能。

XML Extender Collection允许将XML数据转换为关系格式。这需要从预期的XML 结构到数据库模式中的关系表集合的固定映射。基于此映射,存储过程从 XML文档中提取原子数据值,并将其插入到传统关系行和列中。此过程称为分解("shredding" 或 decomposition)。它涉及 XML 解析,并将单一逻辑 XML文档插入翻译为一系列 SQL 行插入。在实际应用程序中,它能够轻松使用数十个关系表来代表原始 XML 结构中的全部一对多关系。因此,映射很快就变得复杂起来,XML插入性能也相应受到影响。一旦使用关系格式的数据可用,纯 SQL 就可用于数据访问和操作。然而,原始 XML文档的重构也非常昂贵。它需要以多路方式加入和生成合适的XML 标签。这些标签可由标准化的SQL/XML 发布函数 定义,来重构原始文档或新的不同文档。但是,XML Extender Collection 无法保留原始 XML文档的任何数字签名。

以关系格式提供XML数据仍然是一个重要的需求。最常见的原因是需要向仅使用关系数据的遗留SQL应用程序、打包业务应用程序和商业智能(BI)工具馈送数据。因此,DB2 9提供了新的“分解” 解决方案,这种解决方案也称为“注释模式分解” 或“新分解”,这种解决方案的速度是XML Extender Collection分解速度的7 到8 倍。本文将在后面比较这种新的高速分解方案和IBM DB2 9中的IBM pureXML 支持的性能。

DB2 9中的新pureXML技术和CLOB 或分解式XML存储有非常大的区别。它不将文档存储为纯文本,也不将XML映射到关系或对象关系表。相反,它使用其固有的层次格式(这种格式匹配 XML数据模型)存储 XML。每个XML文档均是定义良好的元素和属性树,并使用树遍历来表示 XML查询。因此,对应的层次存储和处理格式会让 XML数据管理更为有效,这一点很自然。为了详细解释此观点,本文将比较DB2 9中的pureXML和基于CLOB和分解式XML处理的性能。

测试设置

表1 总结了本文进行的比较。本文对比了CLOB和分解式存储的关键XML操作与对应的pureXML操作。

表1:比较CLOB和分解式XML处理与pureXML

CLOB中的XML DB2 9 pureXML
将XML插入到XML Extender CLOB列 将XML插入到XML列
对CLOB进行完整的文档检索 对XML列进行完整的文档检索
在CLOB中使用XML Extender “提取”功能查询XML(在查询时解析XML) 对XML列进行XQuery操作
   
分解到关系表的XML DB2 9 pureXML
使用DB2 9的新分解特性,将XML分解到关系表 将XML插入到XML列
发布SQL/XML,从关系数据构建XML文档
(例如之前分解的XML)
对XML列进行XQuery操作

全部测试均使用以下数据和设置执行:

一个安装了IBM AIX 5.2(64位)和单一 DB2 9实例的4-CPU pSeries系统

使用了1,000 到100,000个CustAcc文档(4kb 到20kb 大小),这些文档来自文章“DB2 9 XML 性能特征”中的金融场景

页面大小为32kb的数据库管理的(DMS)表空间

全部表空间均使用no file system caching 选项定义,除非另外声明(用于某些CLOB存储测试)

全部表空间分布在10个物理磁盘上,数据库日志位于独立的等量列中

全部测试均使用了相同的数据库配置和调优,来确保性能比较的公平性和有效性

时间: 2024-09-13 09:39:10

DB2 9 pureXML与CLOB或分解式XML存储之间的性能对比的相关文章

分解式服务器的好处在于提高效率

在未来的数据中心,分解式服务器的作用仍然不明朗,潜在的用户看到其可以提高效率的潜力,因而仍然对此有大量的关注. 该技术使大部分基础设施适用于电信运营商和企业IT部门的可能性,它也可能是为供应商销售更多的数据中心硬件的另一种方式. 分解的概念涉及到计算.内存和存储每一个托盘,在所有被编译,汇总和组成在一个池中,而不是单独的服务器单元离散单元. "人们将这些硬件分开,这取决于应用的需要,以及正确比例的最佳组合."IDC服务器和数据中心的研究总监杰德·斯卡拉梅拉说.他在波士顿最近的IDC路线

分解式服务器的好处在于效率的提升

分解式服务器(disaggregated server) 在市场上是不太可能以和超融合(hyper-convergence)同样的方式获得"繁荣"的,但其将以一个更为稳健的速度增长. 分解式服务器在未来的数据中心所扮演的角色作用仍然是不确定的.尽管未来的潜在用户已经看到了其对于提高效率方面的潜力,但仍然对其缺乏足够的关注度. 该技术拥有促使服务供应商和企业组织机构的IT部门能够充分利用其最基础的基础设施的可能性.其同时也可能只是供应商们出售更多的数据中心硬件的另一种方式. 分解的概念涉

CI与分解式服务器技术终将融为一体

我曾经讨论过基础架构融合的必然性,因此看上去好像,我正在引入相反的基础架构发展趋势:分解.然而,分解式服务器技术并不是与融合技术完全相反.实际上,分解和集成服务器是一起运作的. 在这种新形势下,将物理IT组件添加到更大.更深的数据池中,从而获得最大化成本效益.与此同时,像数据保护这种曾经与硬件系统紧密融合的计算密集型功能,现在被分离出来进行独立托管,从而实现性能优化及组件的低成本化. 我们看到,如今的云架构师创建的是超大型基础架构,而不是购买单芯片模板,他们选择储备大量密集型商品资源.融合基础架

DB2 9.5提供给.NET开发的XML工具概述

IBM Database tools for Microsoft Visual Studio 2005 引入一组新的面向 Web服务的特性,公开了最新的DB2 pureXML 功能.新版本可以大大提高开发人员的生产率.新的IBM Database Add-ins for Visual Studio 2005 提供的一些新特性简化了pureXML的使用.这些特性包括从带标注的XML模式创建 Web服务.XSR比较和XSR XSLT支持.本文介绍了IBM XML tools for DB2 Vers

DB2 V10.1多温度数据管理:在温度层之间移动数据

随着数据不断老化和冷却,将它们从一个温度层移动到另一个温度层就很重要.例如,可以设置一个批处理作业,每个月或每季度定期将数据从一个温度层移动到另一个温度层.因为不同温度层中的数据存储在不同的存储设备上,所以移动数据会导致将该数据从源存储组的存储路径移动到目标存储组. 如果有多个表共享一个表空间,请确保这些表具有相同的温度特征.一个表空间中的所有数据会在存储组改变时发生移动.将数据从一个温度层移动到另一个温度层之后,就可以使用 RUNSTATS 命令收集统计信息. 以下过程显示了如何将当前数据分区

群雄逐鹿ReRAM 中芯国际出样意义有多大?

作为中国本土半导体制造的龙头企业,中芯国际(SMIC)的新闻及其取得的成绩一直是行业关注的焦点.2017新年伊始,其一如既往地吸引着人们的眼球.前几天,该公司宣布正式出样采用40nm工艺的ReRAM(非易失性阻变式存储器)芯片,并称更先进的28nm工艺版很快也会到来. 目前,在ROM存储领域,NAND闪存无疑是绝对的主流,保守点说,3.5年内它都会是电子设备存储芯片的主流选择,但研究人员早就开始探索新一代非易失性存储芯片了,Intel与美光联合研发的3D XPoint,是基于PCM相变存储技术,

佳能600D相机性能和尼康D5100相机性能对比详解

给各位摄影爱好者们来详细的解析分享一下佳能600D相机的性能和尼康D5100相机的性能对比. 解析分享: 佳能600D和尼康D5100这两款相机在性能上面都差不多,都是初级入门单反相机.在手感上面,尼康D5100更好,在成像上面,佳能600D相机比较肉. 照片质量上,尼康D5100相机拍出来的照片颜色比较锐,佳能600D相机拍出来的照片比较柔和.网友们可以根据自己的需求进行选择,小编再对这两款相机的具体参数进行描述,网友可以参考!     佳能600D参数 这款相机是2011年2月上市的一款初级

如何为大数据处理构建高性能Hadoop集群

越来越多的企业开始使用Hadoop来对大数据进行处理分析,但Hadoop集群的整体性能却取决于CPU.内存.网络以及存储之间的性能平衡.而在这篇文章中,我们将探讨如何为Hadoop集群构建高性能网络,这是对大数据进行处理分析的关键所在. 关于Hadoop "大数据"是松散的数据集合,海量数据的不断增长迫使企业需要通过一种新的方式去管理.大数据是结构化或非结构化的多种数据类型的大集合.而Hadoop则是Apache发布的软件架构,用以分析PB级的非结构化数据,并将其转换成其他应用程序可管

怎么为大数据处理构建高性能Hadoop集群

越来越多的企业开始使用Hadoop来对大数据进行处理分析,但Hadoop集群的整体性能却取决于CPU.内存.网络以及存储之间的性能平衡.而在这篇文章中,我们将探讨如何为Hadoop集群构建高性能网络,这是对大数据进行处理分析的关键所在. 关于Hadoop "大数据"是松散的数据集合,海量数据的不断增长迫使企业需要通过一种新的方式去管理.大数据是结构化或非结构化的多种数据类型的大集合.而 Hadoop则是Apache发布的软件架构,用以分析PB级的非结构化数据,并将其转换成其他应用程序可