33
1 白皮书 构建于英特尔®至强®服务器上的 IBM InfoSphere* Information Server IBM Netezza* Data Warehouse Servers 进行集成的最佳实践和性能指导 版本:公开发布 1.0 日期:2012 3 15 作者: Garrett DrysdaleIntel® Corporation Sriram PadmanabhanIBM Branislav BarnakIBM Brian CaufieldIBM Tony CurcioIBM Jon DengIBM David LiIBM Liang LuIBM Mi Wan ShumIBM John SkierIBM Netezza Samuel WongIBM

IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

Embed Size (px)

Citation preview

Page 1: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

1

白皮书

构建于英特尔®至强®服务器上的

IBM InfoSphere* Information Server

与 IBM Netezza* Data Warehouse Servers

进行集成的最佳实践和性能指导

版本:公开发布 1.0

日期:2012 年 3 月 15 日

作者:

Garrett Drysdale,Intel® Corporation Sriram Padmanabhan,IBM

Branislav Barnak,IBM Brian Caufield,IBM Tony Curcio,IBM

Jon Deng,IBM David Li,IBM Liang Lu,IBM

Mi Wan Shum,IBM John Skier,IBM Netezza

Samuel Wong,IBM

Page 2: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

2

目 录 构建于英特尔®至强®服务器上的 ......................................................................................................................... 1 IBM InfoSphere* Information Server .................................................................................................................... 1 与 IBM Netezza* Data Warehouse Servers ........................................................................................................... 1 进行集成的最佳实践和性能指导 ........................................................................................................................ 1 1.  简 介 .......................................................................................................................................................... 3 2.  IBM InfoSphere* Information Server 综述 ................................................................................................... 3 

2.1  IBM InfoSphere* Information Server 发布新的世界级的连接组件与 IBM Netezza* Data Warehouse Appliances 进行集成 ....................................................................................................................................... 4 2.2  新的 IBM Netezza*连接器:帮助客户实现高性能和提高开发效率 ...................................................... 5 2.2.1  提高开发效率 ................................................................................................................................. 5 2.2.2  实现高性能 .................................................................................................................................... 5 2.3  新的针对于 IBM Netezza*的 IBM InfoSphere* Information Server 均衡优化功能 .................................. 6 

3.  英特尔至强系列 E7 处理器和英特尔 10GbE 以太网适配器概述 ................................................................. 6 3.1  升级 IBM InfoSphere* Information Server 和英特尔至强服务器后的性能扩展 ..................................... 8 

4.  IBM Netezza* 1000 系列数据仓库设备概述 ............................................................................................. 10 5.  IBM InfoSphere* Information Server 与 IBM Netezza* 1000 系列之间进行数据装载(Load)和卸载

(Unload)的基准性能测试结果 ...................................................................................................................... 11 5.1  测试配置 ........................................................................................................................................... 11 5.2  Netezza 新连接器数据装载(Load)性能测试结果 ........................................................................... 12 5.3  Netezza 连接器数据卸载( Unload)性能测试结果 .......................................................................... 13 

6.  用于测试的 Information Server 作业 ........................................................................................................ 14 7.  提高性能的标准实践和指南 ..................................................................................................................... 15 

7.1  如何避免部分装载 ............................................................................................................................. 15 7.2  如何管理临时工作表(TWTs) ......................................................................................................... 16 7.3  如何通过用户自定义 SQL 使用临时工作表 ........................................................................................ 18 7.4  如何设置并行读取 ............................................................................................................................. 19 7.5  如何使用操作列模式(The Action Column Mode) ............................................................................ 20 7.6  事务处理 ........................................................................................................................................... 22 7.7  如何使用 Quoted IDs ......................................................................................................................... 24 7.8  优化性能的其它最佳实践 .................................................................................................................. 27 

8.  结论 ......................................................................................................................................................... 28 9.  感谢 ......................................................................................................................................................... 29 10.  作者简介 ........................................................................................................................................... 30 11.  英特尔法律免责声明 ......................................................................................................................... 32 12.  IBM 法律免责声明 ............................................................................................................................. 33 

Page 3: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

3

1. 简 介

IBM InfoSphere* Information Server 和英特尔® 最新的至强® E7 系列 4 路、8 路处理器平台,以及 IBM

Netezza* 高性能数据仓库设备一起提供了基于可信赖数据的突破性分析功能。IBM Netezza*数据仓

库设备向企业提供了高性能的数据分析功能;作为一个软硬件结合的设备,它能够被容易地部署以

及管理。英特尔至强 E7 系列处理器提供了一个针对关键任务环境、具备高扩展性和稳定性的计算平

台。基于英特尔平台上的 IBM InfoSphere* Information Server 保证了企业信息能够被及时、完整、准

确的与 IBM Netezza*数据仓库设备进行交互,帮助客户进行业务分析,驱动创新和改进商业成果。 本白皮书总结了在性能基准测试中,使用新的 InfoSphere Information Server Netezza 连接器与 IBM Netezza*数据仓库设备进行数据加载和卸载的测试结果及令人兴奋的性能;帮助客户熟悉新的

InfoSphere Information Server Netezza 连接器 ―IBM InfoSphere* Information Server 与 IBM Netezza*数据仓库设备的全新综合集成。 本白皮书是一系列预期白皮书的其中之一,旨在向部署在英特尔至强处理器平台上的 IBM InfoS-

phere* Information Server 客户提供性能调优的指导概要。本文中,我们测试了运行在一个 4 路配置

的英特尔至强 E7-4870 处理器上 IBM InfoSphere* Information Server 和 IBM Netezza* 1000-12 数据

仓库设备之间的连通性。目的是在这两个平台之间最大限度地提高数据转移和加载的能力,同时,

这一点对商业智能项目来说也是至关重要的。我们建立和优化新的 Information Server Netezza 连接

器,展示了如何最好地利用新 Netezza 连接器去最大化地提高 IBM InfoSphere* Information Server 和

IBM Netezza*之间的数据传输性能,同时也将分享这个新连接器的许多重要的新特性。 本文中,我们展示了超过 2.3 TB/小时的数据加载和卸载的性能数据,这一结果是在运行于一个 4 路

配置的英特尔至强 E7-4870 处理器上的 IBM InfoSphere* Information Server 和 IBM Netezza* 1000-

12 数据仓库设备之间取得的。为了达到这个性能,英特尔 10 Gbit/秒的以太网适配器中,系统使用

了超过 6 Gbit/秒的带宽利用率。我们也验证 IBM Netezza* 1000 系列数据仓库设备所评估的每小时

2TB 的数据加载卸载的性能。尽管支持每小时 2TB 的数据加载和卸载的性能确实令人印象深刻,但

这只是开始,我们在寻求更大的数据加载卸载性能。我们相信当一些期待的改进得到实现的时候,

Information Server 和 Netezza 的性能会得到更稳定的提高,因为更大的网络带宽和 CPU 利用率会出

现在英特尔至强 E7 的服务器上面。除此之外,当需要更强的数据处理能力时,运行在英特尔至强

E7-4870 处理器上的 IBM InfoSphere* Information Server 可以扩展到多个服务器上来满足这一需求。

2. IBM InfoSphere* Information Server 综述

IBM InfoSphere* Information Server 通过数据提取、转换和加载的方式提供了数据集成的功能。它提

供了一个可视化设计工具来让开发人员创建数据集成作业。作业主要用于描述一个或多个 ETL 的任

务,由提供重要功能的多个阶段组件构成。这些阶段组件包括:

• 以数据库、数据仓库、应用程序以及文件为数据源和目标的阶段组件

Page 4: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

4

• 普通的处理阶段组件,例如:过滤、排序、连接、组合、查找以及聚合等 • 内置和自定义转换阶段组件 • 拷贝、移动、文件传输和其它数据转移阶段组件 • 实时、XML、SOA和消息队列处理阶段组件 • 用于访问大数据的阶段组件,运行BRMS的规则和自定义Java的阶段组件等

除此之外,IBM InfoSphere* Information Server 可将一些前置条件和后置条件应用到阶段组件中去。

多个作业可以被一个定序器连接和控制。这个定序器提供能够被用于处理数据集成作业的控制逻

辑。IBM InfoSphere* Information Server 也提供了一个富客户端用来部署、调度和监控作业的运行。 IBM InfoSphere* Information Server 的最大优势之一是实现了系统架构与作业设计的解耦。在大多数

情况下,系统的改变、升级、改进或者是作业在一个平台上开发出来然后部署到另一个平台上去,

作业的设计不需要做任何改变。IBM InfoSphere* Information Server 能够从配置文件中了解当前系统

的状况。一个配置文件定义了作业运行的数据分区处理节点的数目。这些处理节点是逻辑的而不是

物理的。当系统改变时,只需要配置文件做相应的改变即可。此外,它还能够通过配置文件中定义

的内容来调整和组织作业的资源使用。 影响作业最优并行度的因素有下几种:

• 对于CPU敏感的作业,通常情况下会对每一条记录执行多次CPU操作,对于一个给定的系统,它

受益于系统容量的最大可能的并行度。

• 有大内存需求的作业,如果它所处理的数据是预先分区的,并且需要的内存也是在不同分区之

间独立的,它同样也能受益于系统的并行度。

• 对磁盘和I/O资源有更高要求的作业,例如从数据库中提取数据或者加载数据到数据库中的作业

会受益于这样的配置:逻辑节点数目等于被访问的I/O路径数目。 IBM InfoSphere* Information Server另外一个巨大的优势是它在执行数据转换扩展和优化的过程中不

依赖于数据库的任何功能和进程。同时,它也能够产生复杂的SQL查询和有效利用数据库的处理能

力。从一开始,它就被设计为多通道的数据集成引擎,适用单机、集群及网格等多种环境,擅长对

文件、流、数据库和缓存的处理。因此,在很多情况下,用户会发现他们不需要投资中间数据库去

支持他们的数据集成环境的可扩展性。对于更多关于IBM InfoSphere* Information Server作业和阶段

组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM

InfoSphere* DataStage and QualityStage 8.7 Information Center。

2.1 IBM InfoSphere* Information Server 发布新的世界级的连接组件与 IBM Netezza* Data Warehouse Appliances 进行集成

基于 IBM InfoSphere* Information Server 的 IBM Netezza*新连接器组件,已经发布在 Information

Server 8.5 和 8.7 版本中,帮助运行在 4.6.x 和 6.x 版本上的 IBM Netezza*用户快速实现价值回报。

新的连接器组件为并行数据读取和写入提供了最新的原生性连接,并且提供了将各种数据转换工

作,向 IBM Netezza*数据仓库设备进行转移的功能。这些新的特性不但帮助用户提高了开发效率,

而且允许用户不用复杂的自定义编码就能实现更高的性能。

Page 5: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

5

2.2 新的 IBM Netezza*连接器:帮助客户实现高性能和提高开发效率

2.2.1 提高开发效率

IBM InfoSphere* Information Server 中,基于下一代连接性技术的 IBM Netezza*新连接器组件提供了

一系列丰富的功能。这个连接器组件在默认情况下会选择最优化的连接属性配置,这样即使一般情

况下,它也可以达到最优性能。为了达到这个目的,这个连接器组件能够实现以下一些功能:

• 自动创建一个临时工作表(TWT)

• 自动创建 DDL 和数据加载

• 使用临时工作表作为默认插入表,而不是直接插入目标表

• 当创建数据库表的时候使用随机分配的分布键值

• 对传播更新使用 Action Column 当开发人员想要自定义数据集成选项的时候,IBM Netezza*连接器通过复选框和下拉列表等简便的配

置方式提供了自定义控制的方法。 IBM InfoSphere* Information Server 中的 IBM Netezza*连接器组件还提供了许多自动化的属性,这些

属性在 Information Server 的其它连接器组件中也普遍存在。这些自动化属性选项帮助开发人员通过

简单的选择去解决一些复杂的问题。这些选项包括:

• Multi-action modes 会自动尝试另外一个操作如果第一个操作发生了错误,这些一系列的二次操

作包括:“Update then insert”、“Insert then Update” 和“Delete then insert”

• Generated SQL 适用于表和传递到集成作业的数据字段

• Partitioned Reads 会将一个读操作请求扩展到多个读操作请求并且自动的合并结果集

2.2.2 实现高性能

IBM InfoSphere* Information Server 和 IBM Netezza*数据仓库设备都是高性能的,支持高可扩展性的

产品。基于这两种产品的内部性能基准测试数据展示出超过每小时 2TB 的数据加载速度,这满足了

企业对大数据的处理需求。另外,和上一个 InfoSphere Information Server 版本相比,新的 IBM Ne-

tezza*连接器组件将数据加载和卸载的速度在性能上提高了 10%到 15%。

在很多数据集成模式中,直接对数据库中的数据进行处理转换是比较常见的一种情况。例如,一个

典型的例子就是用户常常需要把数据库中详细表数据汇总到一个统计表中。在这种情况下,通常最

有效的方式是数据库执行这些转换任务。基于这种原因,能够支持多种数据处理方式(在 IBM InfoS-

phere* Information Server 可扩展引擎中执行数据转换的 ETL 和在源或者目标数据库本身中执行数据

转换的 ELT)的数据集成技术会显得非常重要。

Page 6: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

6

2.3 新的针对于 IBM Netezza*的 IBM InfoSphere* Information Server 均衡优化功能

数据集成技术会采用各种处理模式来实现最佳性能。将 ETL 和 ELT 结合起来的处理方式为用户实现

了最好的解决方案。为了使 IBM Netezza*数据仓库设备的用户也可以使用这一解决方案。我们在

Information Server 8.7 中扩展了平衡优化功能,容许用户在 IBM Netezza*数据仓库设备上执行数据

转换任务。 IBM InfoSphere* Information Server 的均衡优化功能,有效利用了用户前期对并行数据库的投资,提

高了集成开发人员的效率,优化了数据集成架构,增强了架构的可扩展性、灵活性。它允许用户以

自然的面向流程的方式来设计数据集成逻辑,并且自动优化他们的设计来实现最优的提取、加载、

转换和 SQL 执行的转移。 均衡优化功能充分利用了系统现有的数据处理能力,灵活实现了最有效的数据处理功能和信息交

付,不管这种处理是发生在 IBM Netezza* 数据仓库上还是 Information Server 转换引擎上。 将 IBM Netezza*的新连接器组件和均衡优化功能结合起来,可以提供如下功能:

• 在普通的 Information Server 模板中设计作业,同时自动优化能够在数据库上执行的作业片段。

• 通过允许数据库执行数据压缩任务来显著降低在网络中传输的数据量。

• 当数据源和目标是同种类型数据库的时候,进行最大化的优化。

• 充分利用 Information Server 并行引擎提供的独特转换和数据质量功能,平衡 IBM Netezza*上的

数据处理 - 当维护并行处理的时候都无需把数据加载到硬盘上。

3. 英特尔至强系列 E7 处理器和英特尔 10GbE 以太网适配器概述

与上一代的服务器相比,使用英特尔至强 E7 系列处理器的服务器能够动态提升性能和可扩展性。它

的芯片中包含了新的嵌入式技术,能够帮助专业人士在商业、信息管理、创新和科学领域更快地解

决问题,处理更大的数据集和解决更大挑战。

拥有智能化的处理性能,新的高带宽互连架构,和更大内存容量,基于英特尔至强系列 E7 处理器的

服务器是适合对工作负载更加苛刻的环境下的理想计算平台。一台标准的 4 路服务器最多能够提供

40 个核心,80 个并发执行线程和多达 2T 的内存。8 路和更大的服务器配置正在被服务器提供商开

发。英特尔至强 E7 系列处理器还包含了扩展的可靠性、可用性和可维护性(RAS)等特性。这些特

性能够加速数据集成和减少处理时间。其中最重要的功能之一便是英特尔机器检测架构恢复,当异

常发生时,它允许操作系统执行修正操作,然后继续运行。这些具备高度可扩展性的服务器可以被

用来支持庞大的用户群。

基于英特尔至强系列 E7 处理器的服务器平台还提供了一系列其它特性,它们能够帮助提升性能、可

扩展性和处理效率。

Page 7: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

7

• 下一代英特尔® 虚拟化技术(英特尔® VT)对处理器、芯片组、I/O 设备提供了大量的硬件辅助

功能,在虚拟机中启用快速应用程序性能,可获得包括接近本机的 I/O 性能。英特尔虚拟化技术

也支持对当前和基于英特尔至强处理器的未来的虚拟机的在线迁移。因此当企业需要添加新的

服务器的时候只需要维护一个虚拟化资源的公共池。

• 英特尔® 快速通道互联技术提供了对分布式共享内存的点到点连接。拥有 QPI 特性的英特尔至强

处理器、两种集成内存控制器和三个分布式共享内存连接一起工作,共同交付了可扩展的连接

带宽,显著的内存性能和灵活的与 RAS 密切集成的特性。对于 QPI 的相关技术文章,读者可参

考 http://www.intel.com/technology/quickpath/。

• 英特尔睿频加速技术在必要时,即使是在工作负载峰值的情况下,也可以动态增加核心频率大

幅提升性能。

• 英特尔智能节能技术会在当需求较低的时候调整核心频率降低能耗。

• 英特尔超线程技术能够对多线程应用和在虚拟环境中同时运行的多工作负载,提高吞吐量和降

低应用等待时间。

• AES 加密和解密新指令的支持,对关键算法有显著的性能提高。

更多关于英特尔至强系列 E7 处理器在关键业务上作用的信息,请参考

http://www.intel.com/content/www/us/en/processors/xeon/xeon-processor-e7-

family.html?iid=subhdr%20itc_xeon

Intel® ScalableMemory Buffer

Memory

Intel® 7500 Chipset

PCI Express* 2.0

Xeon® E7 Xeon® E7

Xeon® E7 Xeon® E7

图 1 - 英特尔®至强® E7 4 路处理器架构图

很多基于 IBM Netezza*数据仓库设备的集成解决方案和本文中提到的一样,都会产生超过约 6 Gbits/s 的网络带宽需求。正是由于这种原因,英特尔 10GB 以太网适配器被用于这些系统拓扑中。

现在,10GB 以太网已经过了早期适用的阶段,正在快速成为企业主干网,数据中心以及网络服务提

Page 8: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

8

供商的主流选择。多核处理器以及对性能要求苛刻的应用(例如性能计算、数据库集群、商业智能

和商业分析等)在服务器上的逐步部署也正在驱动 10GB 网络连接的需求。英特尔 10GB 以太网适配

器就是用来设计满足吞吐量和对网络带宽要求较高的应用的延迟需求的,同时可以只需要非常低的

能耗。英特尔 10GB 网络适配器对于单端口和双端口配置都是可用的,同时也提供了对多个 1GB 服

务适配器的简化替代产品。英特尔 10GB 适配器还提供了对多个 CPU,多个接收和传输队列的负载

均衡支持。 英特尔提供了针对虚拟机设备队列的 VMDq 技术,增强虚拟化性能,也显著降低了虚拟化消耗。英

特尔 10GB XF Server 适配器对于虚拟机的环境也作了优化,支持多队列,减少虚拟机之间的 I/O 瓶

颈。虚拟机队列(VMDq)技术除去了数据排序和从虚拟机监视器(VMM)软件层到硬件层上的数据

拷贝,提高了总体吞吐量和虚拟机上的 CPU 利用率。除此之外,英特尔 10GB FX Server 适配器启用

了英特尔 I/O 加速技术(英特尔 I/OAT),支持在基于新的四核和双核英特尔至强处理器的服务器上

的快速数据处理和更快 I/O 处理。 在此白皮书中展现的结果数据是在本地操作系统配置上取得的。但是,英特尔 E7 处理器平台支持广

泛的虚拟化特性,能够对虚拟操作系统环境提供更好的性能

3.1 升级 IBM InfoSphere* Information Server 和英特尔至强服务器后的性能扩展

同时升级硬件设备和软件系统会有显著的性能提升。图 2 展示出在同时升级硬件和软件后,系统在

吞吐量上会有 1.5 倍的性能提高。 横轴左边是 IBM InfoSphere* Information Server v8.1,右边是 v8.5。纵轴下面是较老的英特尔至强

X7560 处理器(代号为 Nehalem-EX,2.26 GHz,每路8核,16个线程,24 MB末级缓存)。上面是英

特尔至强 E7-4870 处理器(代号为 Westmere EX,2.4 GHz,每路 10 核,20 个线程,30 MB 末级缓

存)。在软件上,从 IBM InfoSphere* Information Server v8.1 升级到 v8.5 之后,对于前面的任意一

种英特尔处理器都可以产生 1.11 倍的性能提升。在硬件上,从英特尔至强 X7560 处理器升级到英

特尔至强 E7-4870 处理器后对于前面的任意一个 Information Server 版本会产生 1.35 倍的性能提

升。

Page 9: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

9

图 2 - 升级到最新的英特尔处理器和最新的IBM Information Server后能够产生出 1.5 倍的系统吞吐量

Page 10: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

10

4. IBM Netezza* 1000 系列数据仓库设备概述

IBM Netezza* 1000 系列(http://www.netezza.com/data-warehouse-appliance-products/twinfin.aspx)

是一个特定设计、基于标准的数据仓库设备。它从架构上集成数据库、服务器和存储到一个单

一的容易管理的系统设备中。它是一个高性能的设备,可以被广泛的用来作为企业数据仓库、

数据智能、边缘应用或者数据集成中心。它的存储容量可以从 1 TB 扩展到 1.5 PB。 IBM

Netezza* 1000 系列数据仓库设备是为大数据量的快速分析而设计的,和当前传统数据库提供商

提供的方案相比,以更低的代价,实现 10-100 倍的性能提升。

在强大的多核 CPU 配置下,IBM Netezza* 1000 系列被设计用来管理设备中所有的计算核心,提

供显著的性能和高可扩展性。作为一个通用设备,它可以扩展到多达 10 个机架,设置 120 个 S

刀片设备、960 个 CPU 和 FPGA 核心。IBM Netezza* 1000 系列可以给企业带来顶级的性能、价

值回报和管理简化,使他们能够提出问题和执行以前从未设想过的复杂分析。

每个 IBM Netezza*数据仓库设备都会与 IBM Netezza*分析设备一起交付,IBM Netezza*分析设备

是一个针对地理空间的嵌入式的软件平台和高级分析软件。它提供了对并行企业部署和库内分

析的支持。除了并行分析功能的内置类库使得它更简单地在数据仓库中移动分析模型和记分

外,同时支持各种流行的工具和语言。IBM Netezza*分析设备完全集成到 IBM Netezza*数据仓库

的巨大的并行处理架构中,使得它能够以空前的速度进行数据发现、模型诊断和评分。

产品突出独特的方面:

• IBM Netezza* 1000 系列数据仓库设备是高性能的数据仓库一体机设备,不需要索引和调整,

这也缩短了部署周期和加快了投资回报

• 这个设备为瞬间数据加载、查询的执行以及对所有的主流 ETL、BI、分析应用的集成提供了

“ready-to-go”的功能

• 一个强大的平台 – 集成高性能数据仓库、商业智能和高级分析到一个简单易用的设备中

• 简单容易 -容易部署和管理,动态地简化企业数据仓库和分析的基础架构

图 3 - IBM Netezza* 1000-12 数据仓库设备规范

Page 11: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

11

5. IBM InfoSphere* Information Server 与 IBM Netezza* 1000 系列之间进行

数据装载(Load)和卸载(Unload)的基准性能测试结果

5.1 测试配置

本文的测试环境是一个典型的 Information Server 两层配置环境。Client 层机器上只安装、运行

InfoSphere Information Server 8.7 客户端应用程序。其他 InfoSphere Information Server 层被单独安

装在一台基于英特尔至强 E7-4870 处理器的服务器上。IBM Netezza* 1000-12 用作数据仓库。

InfoSphere Information Server 和 IBM Netezza*服务器通过 10GB 的英特尔以太网进行连接。

Information Server 所在服务器的操作系统是 Red Hat* Enterprise Linux* 5.3,64 位版本。

Information Server 系统配置了 1TB 的内存。实际上,大多数 Information Server 作业不需要这么大

的内存,我们的服务器在配置使用更少的内存时也表现得很出色。这里,我们使用大内存配置虚拟

硬盘来存储用于处理的源数据,并将其发送到 IBM Netezza*数据仓库设备。虚拟硬盘用来代替速度

较慢的硬盘存储避免了潜在的 IO 瓶颈。

图 4 – IBM InfoSphere* Information Server 和 IBM Netezza* 性能服务器拓扑结构

Page 12: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

12

表 1 和表 2 列出了测试平台的详细信息: 安装了 Information Server 的基于英特尔至强 E7—4780 处理器的服务器

制造商 英特尔® CPU 型号 ID E7-4870 平台名称 Boxboro 插座数量 4 每插座核心数量 10 每核心线程数量 2 CPU 代号名称 Westmere-EX CPU 频率(GHz) 2.40 QPI GT/s 6.4 超线程技术 启用 预读取设置 默认 LLC 大小(MB) 30 BIOS 版本 R24 安装的内存(GB) 64 DIMM 类型 DDR3-1066 DIMM 大小(GB) 16 DIMM 数量 64 NUMA 启用 操作系统 RHEL 5.3 64 位

表 1 – 用来测试的英特尔平台 IBM Netezza* 1000-12 性能服务器数据仓库设备

制造商 IBM 机架 1 S-Blades 12 CPU 内核 104 操作系统 RHEL 5.3 64 位

软件级别 NPS 6.0

表 2 – 用来测试的 IBM Netezza* 数据仓库设备

5.2 Netezza 新连接器数据装载(Load)性能测试结果

装载(Load)测试使用一个大小为 202GB 的数据集合。根据执行 Load 操作的 InfoSphere

Information Server 作业的并行处理节点的数量,该数据集合被提前均衡分区。通过将数据集合分区

的数量与处理节点的数量相匹配可以减少 I/O 子系统的冲突并降低对 CPU 的使用。

Page 13: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

13

图 5 显示了通过速度为每秒 10 Gb 的以太网连接,使用 InfoSphere Information Server 向 IBM

Netezza* 1000-12 服务器上的目标表进行数据装载所得的测试结果。随着 InfoSphere Information

Server 数据分区的数量从 1 增加到 23,作业的数据传输率也从每小时 146GB 增加到 2377GB。CPU

监控数据显示即使 Load 作业以最高传输率运行时,InfoSphere Information Server 的 CPU 平均利用

率也只有 30%。当使用 23 个处理节点的时候会使系统达到最高的装载率,这也是测试的 IBM

Netezza*数据仓库设备的额定能力。(其他型号的 IBM Netezza*数据仓库设备能够提供更高的装载

率。)

146

597

1161

2212 2377

1.65.6

9.3

22.2

25.4

0

5

10

15

20

25

30

0

500

1000

1500

2000

2500

1 4 8 16 23

CPU

Utili

zatio

n (%

)

GB/

h

Number of DataStage Data Partitions

Netezza Connector Load Throughput

Throughput Avg. CPU %

图 5 –从Information Server engine服务器到IBM Netezza* 1000-12 服务器的数据装载

5.3 Netezza 连接器数据卸载( Unload)性能测试结果

图 6 显示了通过速度为每秒 10 Gb 的以太网连接,使用 InfoSphere Information Server 将 IBM

Netezza* 1000-12 服务器源表中的数据进行卸载(Unload)所得的测试结果。随着我们将

InfoSphere Information Server 的数据分区(或者“处理节点”)的数量从 1 增加到 23,卸载的传输率

也从每小时 133GB 增加到 2579GB。CPU 监控数据显示随着并行度的增加,InfoSphere Information

Server 系统的 CPU 平均利用率也从 1.7% 提高到 33.5%。

Page 14: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

14

133

513

985

1838

2579

1.75.6

9.5

22.4

33.5

0

5

10

15

20

25

30

35

40

0

500

1000

1500

2000

2500

3000

1 4 8 16 23

CP

U U

tiliz

atio

n (%

)

GB

/h

Number of DataStage Data Partitions

Netezza Connector Unload Throughput

Throughput Avg. CPU %

图 6 –通过InfoSphere Information Server从IBM Netezza* 1000-12 服务器卸载数据

6. 用于测试的 Information Server 作业

为了充分测试 IBM Netezza* Connector stage 的性能,我们必须确保 InfoSphere Information Server

服务器上的系统资源不会成为影响作业性能的瓶颈,例如 CPU、磁盘或网络。虽然 Netezza 连接器

提供了多种不同的输入方法,但研究证明预分区数据集(dataset)会产生最好的数据装载和卸载传

输率。使用预先分区的数据集(dataset)可以最大限度降低 CPU 开销,减少对 I/O 的需求,从而使

InfoSphere Information Server 服务器能够保留足够的资源来处理其他工作负载。图 7 显示了装载

(Load)和卸载(Unload)作业的截屏。

图 7 – 装载(Load)和卸载(Unload)作业

Page 15: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

15

7. 提高性能的标准实践和指南

在本节中,我们将介绍如何使用 InfoSphere Information Server 的 Netezza 新连接器和 IBM Netezza*

数据仓库设备对集成作业进行高效开发和灵活实现的详细指南。其中包括了对不同选项的全面详细

介绍,以及如何针对您的场景进行使用才能获取灵活有效的解决方案描述。 本节包含以下内容:

• 如何避免部分装载

• 如何管理临时工作表(TWTs)

• 如何通过用户自定义 SQL 使用临时工作表

• 如何设置并行读取

• 如何使用操作列(action column)模式

• 事务处理

• 如何使用引用 ID

7.1 如何避免部分装载

在使用InfoSphere Information Server向Netezza数据表中进行数据并行装载时,会有多个数据处理节

点向同一目标表中同时并行装载数据。如果其中一个处理节点遇到问题,则会中断作业。但是,因

为处理节点是并行运行的,所以有可能出现在作业终止之前已经有一个或多个节点已经完成了数据

装载。这就导致了数据部分装载。这种情况大多发生在Netezza 新连接器中应用直接(Direct)插入

模式。

为了避免在数据装载中出现这种问题,Netezza 新连接器使用一个staging表,被称为临时工作表

(Temporary Work Table)或者TWT的技术。通过使用TWT表,向目标表中装载数据可分两个主要阶

段来完成。(1)首先,每个处理节点将其负责的数据写入到TWT表中。(2)在所有处理节点成功

完成第一阶段装载后,conductor进程(每个作业都会有一个这样的进程)会执行一个单独的插入语

句将所有数据从TWT表中插入到目标表中。这样一来,Netezza 新连接器的操作就只会出现两种情

况,向目标表中插入所有输入记录或者没有任何数据装载。

对于其他的数据写入模式,例如,更新(Update)、删除(Delete)、更新然后插入(Update then

Insert)、 删除然后插入(Delete then Insert)、用户定义的SQL(User-defined SQL)和操作列

(Action column)也都可以使用TWT。

Page 16: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

16

图 8 – Direct Insert 模式选项

7.2 如何管理临时工作表(TWTs)

默认情况下,在运行InfoSphere Information Server作业时,Netezza连接器会自动创建和删除TWT。

因此,在连接属性中指定的用户名需要拥有创建和删除表的权限。取决于在企业部署中的安全要

求,有的用户可能没有被赋权。在这种情况下,那么可以配置Netezza连接器使用以前创建的TWT。

该表可以由拥有必要权限的管理员提前创建。TWT必须与作业中Netezza连接器的列输入模式相匹

配,因此,在这种情况下,每个要被装载的表必须保留一个单独的TWT。此外,使用Runtime

Column Propagation(RCP)的作业可能无法使用预先存在的TWT,因为在作业运行前,系统无法识

别连接模式。

管理TWT比较好的方法是将其与生产数据库中的生产表独立分开。这种方法的好处是:

Page 17: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

17

可以将TWT与生产数据库的备份和恢复操作分离。

更容易对它们进行跟踪,因为它们可以被保留在独立的空间。

权限管理也可以与生产数据库分开控制。

即使TWT被管理在独立数据库里,Netezza连接器仍然可以对其进行自动创建和删除。 要启用该功能,必须设置Netezza连接器连接属性中的Separate connection for TWT ,并指定数据库

名称(您也可以设置不同的用户名和密码)。

图 9 – 设置separate connection for TWT

提示:您可以通过将Temporary work table 模式设置为自动(Automatic)来让Netezza连接器管理

TWT,或者指定一个现有的TWT。如果您决定指定一个现有的TWT,请确保TWT名称中包括数据库

的名称。您可以使用 2-part 或 3-part表名称来指定(例如数据库名、模式名、表名或数据库名、表

名),如下图所示。

Page 18: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

18

图 10 – 临时工作表模式

7.3 如何通过用户自定义 SQL 使用临时工作表

IBM Netezza*连接器既可以为写入模式自动生成SQL语句,也可以接受用户自定义SQL语句。在所有

处理节点完成向TWT的装载后,conductor进程会执行这些语句。 问题是应该如何将这些语句应用于TWT。如果TWT是预先创建的或者是在 Before SQL属性中创建

的,那么设计作业的人就会知道它的名称并在用户自定义SQL中指向TWT。但是,如果TWT是由连接

器自动生成的,则只有在作业运行时才会知道它的名称。 为了解决这个问题,连接器提供了两个占位符(或参数),用户可以在用户自定义SQL中使用这两个

参数来指向TWT和目标表。

占位符 描述

[[twt]] 临时工作表名

[[table]] 在表名称属性中指定的目标表名.

表 3 – 在 SQL 语句中使用的占位符或参数

Page 19: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

19

在运行时,占位符会被实际的名称所替换。下面的例子显示了如何使用占位符输入用户自定义SQL:

INSERT INTO [[table]] SELECT * FROM [[twt]]

或者

UPDATE [[table]] SET [[table]].col1 = [[twt]].col1 注意:如果占位符带引号,则不被替换。单引号用于指定文本值,因此'[[twt]]'会作为一个值来处

理,不会被替换。双引号则用作标识符,所以“[[twt]]”将作为表或者列名称来处理。

7.4 如何设置并行读取

当创建一个InfoSphere Information Server读取作业时,默认情况下,Netezza连接器会顺序读取,也

就是说只在一个处理节点上运行。若要使连接器执行并行读取,可以将连接器属性中的“Enable

partitioned reads”选项设置为“Yes”。

图 11 – Enable partitioned reads

设置了该选项,连接器会在每个处理节点上生成不同的读取语句,这样就可以读取不同子集的记

录。对于datasliceid列(特殊的Netezza列),连接器将使用模量分区。

Page 20: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

20

注意:当使用用户自定义SQL语句,并且把“Enable partitioned reads”选项设置为“Yes”时,连接器将

会在每个处理节点执行相同的语句,这样可能会产生重复数据,因为在每个处理节点都会看到所有

行数据。 连接器提供下列占位符或者参数,可用于SQL语句中来实现分区:

占位符 描述 Value when running sequentially

[[node-count]] 处理节点总数。表示 Netezza 连接器的并

行程度,等于处理节点的数目 1

[[node-number]] 当前处理节点零基准索引。例如,如果有

4 个处理节点,则处理节点有 0、1、2、3四个索引。

0

表 4 – 在 SQL 语句中的占位符

用户可以使用这些占位符在SQL语句中创建分区子句,例如:

SELECT * FROM table WHERE mod(datasliceid,[[node-count]])=[[node-number]]

[[node-count]]会在所有处理节点接收相同的值,而[[node-number]]则会在每个处理节点替换不同的值。

7.5 如何使用操作列模式(The Action Column Mode)

Netezza 连接器拥有一个特殊的模式适用于复制的作业。被称为操作列(Action column)模式。在该

模式下,每个接收的行都可以指定对该行数据所执行的SQL语句的类型。该模式有 5 种支持的操作:

插入Insert (I)、更新Update(U)、删除Delete(D)、替换Replace(R)以及合并Merge(M)。

正如模式的名称所示,在输入数据的schema中有一个特殊的列,被称为操作列,其类型为char

(1),有I、U、D、R、M五个操作模式标识符表示。 连接器会按顺序执行删除(Delete)、更新(Update)和插入(Insert)语句。第一个语句通过D或R

操作将目标表中key值与输入行相匹配的行删除。第二个语句通过U或M操作将目标表中key值与输入

行相匹配的行更新。同时通过M操作插入那些key值不存在于目标表中的输入记录。第三个语句通过I

或R操作将行插入目标表。 操作列(Action column)只允许在Netezza 连接器的输入连接模式中设定,不可以出现在目标表中。

列的名称可以任意设置,但是不允许与目标表中的列名称相同。 设置Action column作业如下:

1) 将写入模式(Write mode)设置为操作列(Action column)。

2) 在您的输入连接列表中,选择要用于匹配记录的键(key)。

3) 从预备的 (文本类型)输入连接列列表中,选择操作列(一个单列)。

Page 21: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

21

图 12 – 操作列写模式

图 13 – 选择匹配记录的 key

Page 22: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

22

图 14 – 选择操作列

7.6 事务处理

Before SQL和After SQL语句属性允许指定多个SQL语句(每个语句用分号隔开),有两个属性可以控

制这些语句的事务范围,如果任何语句失败都会影响作业的行为。这两个属性是:Fail on error和

Atomic mode。

当Before SQL和After SQL属性中的SQL语句的性质是允许出现失败时,例如,删除一个可能不存在的

表,将“Fail on error”设置为“No”。设置了该选项后,即使一个或多个语句失败了作业也会继续运行。

此外您还可以设置属性Log statement errors 来控制是否对相关的错误消息进行记录以及如何记录。

如果SQL语句的性质不是上述这种情况,那么就没有必要继续运行作业了,将“Fail on error”属性设置

为“Yes”,则在第一个语句失败后作业就会中止。随后的SQL 语句也不会被执行。此外,您可以将

“Atomic mode” 设 置 为 “Yes” , 以 确 保 在 失 败 之 前 执 行 的 SQL 语 句 可 以 被 回 滚 。

Page 23: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

23

图 15 – “Fail on error”和“Atomic mode”

注意:在Atomic mode模式下,您不能在该属性中使用任何非事务性SQL语句。

含有多个SQL语句(Update then insert、Delete then insert、Action column和User-defined SQL)的写

入模式也具有Atomic mode模式。将“Atomic mode”设置为“Yes”时,所有语句都会在一次事务内执行

(例如,Update then insert模式的更新和插入语句)。如果任意一条语句失败了,则回滚所有操

作。如果将“Atomic mode”设置为“No”,则每个语句都在单独的事务内运行。也就是说,例如,如果

Update then insert的插入(insert)部分失败了,更新(update)操作仍然会提交。

Page 24: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

24

图 16 – SQL Atomic mode属性

注意:

• Before SQL、After SQL和Write mode SQL都有各自的Atomic mode属性。他们的作用是如果一个

SQL语句在其中一个属性中失败了,则在其他属性中已经执行的SQL语句将不会被回滚。也就是

说,Atomic mode的范围受其父属性(以及相关SQL语句)的限制。

• 连接器会在作业运行结束时提交的一个单独事务中处理所有输入行。这就使连接器更适用于那种

可以定期(例如每天一次)调用的批处理类型的作业来进行海量数据的处理和加载。由于目标表

永远不会被更新,该连接器不适用于“always-running”作业。

7.7 如何使用 Quoted IDs

IBM Netezza*支持两种类型的标识符:常规标识符和界定标识符。 常规标识符不区分大小写,在数据库中,可以是大写或小写。缺省情况下是大写的。标识符只能包

含字母(任何字母,而不只是拉丁字母)、音节(如日语的平假名、片假名)、象形文字、小数

点、下划线和美元符号($)。常规标识符不能用数字、下划线及美元符号开头,必须以字母开头,

同时也不能是SQL保留字。IBM Netezza*编目中的编码是UTF-8;其显示有客户端来决定。

Page 25: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

25

界定标识符被双引号包围,有特殊含义是大小写敏感的。例如:一个数据库“Sales”和名字为SAILES

的数据库不是同一个库。在IBM Netezza*数据仓库中,界定标识符不会被转换为缺省的大写模式,也

不会将双引号保存在数据库中。 通过双引号标识,界定标识符不但和常规标识符一样包含字母、音节、象形文字、小数点、下划线

和美元符号,而且还可以包含空格,特殊符号,例如连字号,百分比符号及SQL的保留关键字。界定

标识符可以以任意的字母,数字和符号开头。Netezza连接器支持在表名属性和用户自定义SQL语句

中使用界定标识符,同时连接器的行为会被“Enable case-sensitive identifiers”属性影响。

图 17 – 表名属性中的界定标识符

Page 26: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

26

假设表名类型和大小写敏感设置如下,下表给出了相应Netezza连接器的行为:

表名属性 Case sensitive IDs

关闭 打开

数据库.模式.表 • 在系统编目中查询时,数据库,模

式,表都是大写。 • 在 SQL 语句中使用时,数据库,模

式,表按原样。

• 在系统编目中查询时,数据库,模

式,表按原样。 • 在 SQL 语句中使用时,数据库,模式

及表被引用。 • 圆点被用作为界定符号,不是名字的

一部分。

“数据库.模式.表” • 整个字符串 数据库.模式.表被假设为

一个界定的表名。(圆点被认为是表

名的一部分) • 在系统编目中查询时,表名按照原

样。 • 在 SQL 语句中使用时,表名按照原

样。

• 整个字符串 数据库.模式.表被假设为

一个界定的表名。(圆点被认为是表

名的一部分) • 在系统编目中查询时,表名按照原

样。 • 在 SQL 语句中使用时,表名按照原

样。

数据库.模式.“表” • 在系统编目中查询时,数据库和模式

是大写,表是按照原样。 • 在 SQL 语句中使用时,数据库和模式

按照原样,表被引用。

• 在系统编目中查询时,数据库和模式

是大写,表是按照原样。 • 在 SQL 语句中使用时,数据库和模式

按照原样,表被引用。

“数据库”.“模式”.“表” • 在系统编目中查询时,数据库,模

式,表按照原样。 • 在 SQL 语句中使用时,数据库,模式

及表被引用。

• 在系统编目中查询时,数据库,模

式,表按照原样。 • 在 SQL 语句中使用时,数据库,模式

及表被引用。

表 5 – Case sensitive IDs 和连接器行为

Page 27: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

27

7.8 优化性能的其它最佳实践

优化性能的最佳实践总结

下文是对基于IBM Netezza* 1000-12 数据仓库设备、IBM InfoSphere* In-formation Server和基于英特尔至强处理器的服务器上的数据集成环境进

行性能优化的最佳实践总结:

• IBM Netezza* 1000-12 数据仓库设备 – 使用缺省软件设置,不需调

优!

• IBM InfoSphere* Information Server connector for IBM Netezza* -使用

缺省软件设置,不需调优!

• 如果有适量的内存,请为Information Server 的temporary和scratch space设置虚拟内存硬盘或者使用高性能固态硬盘(SSD)。每个

server至少分配 100 GB的空间。当作业使用temporary or scratch space时,这种配置能大大提高性能。

• 使用英特尔 10 GbE 网卡并配置驱动使用巨型帧。

在网络带宽使用率超过 6 Gbits/s的情况下,配置 10 GbE 网卡

是必须的。

在我们的测试中,使用巨型帧能带来 10%以下的性能提高。

• 如第 7 节所述,进行性能优化的标准实践如下:

避免部分装载

管理临时工作表(TWTs)

通过用户自定义 SQL 使用临时工作表

设置并行读

使用操作列模式

使用事务处理

使用引用标识符

Page 28: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

28

8. 结论

IBM Information Server 可以部署在执行关键任务的高性能服务器,例如,基于 E7 - 4870 系列的英

特尔®服务器至强®平台上,以极高处理率实现数据的高效处理。因此,高性能的 I/O 和网络带宽的对

于整体性能是非常重要的。网络连接组件,例如:10 Gbit/s 的以太网卡或 40 Gbit/s 的光纤通道是非

常必要的,可以充分发挥这对硬软件组合的强大的计算处理能力。 当向 IBM Netezza*数据仓库设备装载数据(或处理其它数据源的数据)时,基于英特尔 E7 – 4870

上的 IBM InfoSphere* Information Server 的性能很容易超过 1 Gbit/s 以太网卡的带宽处理能力。英特

尔 10 Gbit/s 以太网适配器提供必要的带宽和一些特性来优化网络性能。本文中的测试配置展示了运

行在英特尔 E7 - 4870 处理器上的 InfoSphere Information Server 和 IBM 的 Netezza 1000 系列数据

仓库设备之间,超过 2.3 TB/小时的数据加载和卸载速率。这样的高性能导致了在两个服务器之间,

平均 6 Gbits/s 的网络连接。同时,这也可能需要较大的内存(或 SSD 固态设备)去维护 Information

Server 的 scratch 和 temporary 数据。在本次实验中,一个虚拟内存硬盘(RAMDISK)被用来取代存

储速度慢的硬盘设备。

通过联合使用 IBM InfoSphere* Information Server 和 IBM Netezza*数据仓库设

备实现快速的投资回报 IBM InfoSphere* Information Server 向数据仓库提供更值得信赖的信息—信息和上下文相关,全面、

准确、及时。IBM Netezza*数据仓库设备设计为突破性的分析性能,系统简单性和可扩展性提供新的

企业标准。IBM InfoSphere* Information Server v8.7 引入了新的、更快的、功能丰富的连接组件与

IBM Netezza*进行集成。这在部署更值得信赖的数据仓库解决方案时,加快了客户的投资回报。 根据客户的反馈意见和发展趋势,新的 Netezza 连接器嵌入了许多界面友好的有用功能。它基于

IBM Netezza*的外部表,进行数据加载和提取。它通过支持并行读取数据,有能力进行高性能的数据

提取。它支持多种装载选项,例如插入、更新后再插入、删除后再插入、更新、删除、基于 Action

Column 的插入、自定义的 SQL 插入等。它非常智能,能够允许使用现有的临时工作表或自动创建新

的临时表,临时工作表可以位于一个独立的数据库中。因此避免了对目标表损坏的可能性和用户权

限的误用。它支持多种类型的表操作,例如:truncate、drop、replace,或者通过自身独有的特性,

创建出不同的 distribution key 选项,例如用户定义的,自动的或随机的。还有一些其他的功能,为

终端用户提供更多的能力,如在一个单独节点或者多个节点上,执行 before SQL 和 after SQL 语

句、schema reconciliation 和 RCP 等。 与市场上其它产品相比,IBM InfoSphere* Information Server 的均衡优化功能非常独特。它可以将转

换处理操作推到源和目标数据库中。通过这个功能,用户能够优化自身 IT 环境的资源使用率。数据

转换处理操作可以被完全放在专用服务器上,或被推到 IBM Netezza*中,或者是混合模式,数据转

换处理操作在专用的处理服务器上,也在 Netezza IBM 服务器中。原始作业和经过均衡优化后的作

业都被保存在同一个存储库中。用户可以设计执行逻辑,根据当前环境资源负载情况,动态选择执

行那种作业。

Page 29: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

29

通过 IBM 软件和英特儿至强 E7 处理器的强强联合优化 ROI 总之,IBM InfoSphere* Information Server 通过新的 IBM Netezza*连接器,为 IBM Netezza*数据仓库

设备,提供了原生的连接性。支持均衡优化,无论是在源数据库、IBM Netezza*目标数据库还是在高

性能的 Information Server 引擎,或者上述的任何或所有的地点,它都可以进行数据处理转变。结合

强大的关键任务性服务器平台,诸如基于 E7 - 4870 系列处理器的英特尔®服务器 Xeon®平台,IBM

InfoSphere* Information Server 并行引擎可以以令人印象深刻的超高处理率,对 IBM Netezza*进行数

据处理。

9. 感谢

在此,我们对以下各位参与者在本此性能实验,及本文创作中的大力帮助,表示深深的敬意:

• Jantz Tran (Sr. Staff Software and Hardware Engineer, Intel)

• Yeh-Heng Sheng (Software Architect, Balance Job Optimization, ISAS/Information Server, IBM)

• Gary Faircloth (User Technology Engineer: User Assistance Design, Writing, and Production Infra-

structure, IBM)

Page 30: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

30

10. 作者简介

Garrett Drysdale 拥有密苏里大学罗拉分校的电子工程学士学位和乔治亚理工

学院的电子工程硕士学位,是英特尔的软件及硬件性能工程师。从 1995 年

以来,他一直从事于基于英特尔平台的客户机、工作机及企业级服务器上的

软件性能优化分析工作。目前,Garrett 和云计算及数据中心软件开发人员一

起合作分析优化基于英特尔服务器的云应用,与英特尔的内部设计团体合作

评估基于下一代因特尔平台的新兴技术在软件性能方面的影响。您可以通过

[email protected] 联系他。

Sriram Padmanabhan 博士是 IBM Distinguished Engineer 及 IBM InfoSphere* Server 产品的首席架构师。最近,他领导 Information Management Advanced Technologies team 研究新兴的技术领域,例如,Web2.0 对于信息访问及发布

的影响。作为资深研究员和数据库技术组的经理,他曾经在 IBM T.J. Watson研究中心工作了数年。他是 DB2’s shared-nothing parallel database 的关键技

术人员和 DB2’s multi-dimensional clustering 的原创者之一。他也是提供集成

仓库和商业智能的增强版 DB2 Data Warehouse Edition 的首席架构师。他总共

发表了至少 25 本公开出版物,包括 DB2 技术,期刊杂志和数据库研讨会上

的论文。您可以通过 [email protected] 联系他。

Branislav Barnak 是 IBM 软件架构师。他主要负责 IBM InfoSphere* DataStage connectivity 和 IBM 技术领域,例如:DB2、WebSphere MQ、主机数据存储

及其它。Branislav 在 DataStage connectivity 技术领域有超过 10 年的开发经

验。他开发过多个 Connectivity 框架,涉及到多个数据库和消息产品例如:

Oracle、PeopleSoft、Teradata、DB2、WebSphere MQ 等等。他拥有塞尔维亚

贝尔格莱德大学,电子工程学士学位。您可以通过 [email protected] 联系

他。

Brian Caufield 是负责定义和设计 IBM InfoSphere* Information Server 新功能

的软件架构师。他同时也和 Information Server Performance Team 一起工

作,代表 IBM 在 TPC 为数据集成定义工业标准的性能基准。在此之前,作为

资深开发者,Brian 在 IBM InfoSphere* Information Server 并行引擎领域有 10年的开发经验。您可以通过 [email protected] 联系他。

Tony Curcio 是 IBM InfoSphere* DataStage 的产品经理。他帮助企业应用 IBM可扩展的数据集成平台建立可信信息的基础架构。他负责指导 IBM InfoS-phere* DataStag 的开发方向,最大化满足客户的需求和符合工业趋势。Tony 也是 InfoSphere 和 Cognos 联合产品策略的负责人。您可以通过

[email protected] 联系他。

Page 31: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

31

Jon Deng 是 IBM Information Server Connectivity 的产品经理。他负责

Information Server 与合作伙伴及供应商产品的集成工作。Jon 在企业软件、

硬件和行业方案领域有超过 15 年的经验,是包括信息集成、大数据、数据仓

库、商业智能、实时分析、云计算、Web2.0/Mashups 和产品规划、调度、顺

序方法方面的技术专家。您可以通过 [email protected] 联系他。

David Qiang Li 是在软件性能、压力和装载测试方面有超过 12 年经验的软件

性能工程师。加入 IBM InfoSphere*产品组之前,David 是 IBM Rational Per-formance Engineering team 的关键成员。在 Rational ClearCase、Rational ClearQuest 和 Rational Team Concert 等产品的多个版本发布中,David 对提高

产品质量和性能起到了关键作用。他是 2007 和 2009 年的 Rational Software Development Conference、2011 年 IBM Information On Demand Conference的演讲者之一。他经常出席哈佛和麻省理工在 IT 领域的讲座和研讨会。您可

以通过 [email protected] 联系他。

Lu Liang 在系统测试和性能测试方面有多年的经验。当前,他是 InfoSphere Information Server Performance Team 的成员。他在 DevelopWorks 上面发表

了多篇关于 Information Server 的技术文章。作为认证的高级 DB2 数据管理

员,除了 DB2,他还熟悉其它的关系性数据库,对 J2EE 和 Web 技术也有一

定的了解。他对 Information Management、开源技术等方面很感兴趣。您可

以通过 [email protected] 联系他。

Mi Wan Shum 毕业于德州大学,拥有多年软件开发背景,目前是 IBM 硅谷实

验室,InfoSphere Information Server 性能测试团体的主管经理。您可以通过

[email protected] 联系她。

John Skier 是 IBM's Netezza partner integration team 的主管。他负责 IBM Ne-tezza*'s data warehouse appliances 与商业伙伴产品的最佳集成。他拥有

Informix SQL engine technology 专利,是 TPC 和 SQL standards committees的成员。他的职业生涯大部分时间都在为商业和使用 SQL 技术的政府部门开

发、实现、发布标准的高性能数据仓库和 OLTP 系统。您可以通过 [email protected] 联系他。

Samuel Wong 是 IBM 硅谷实验室 InfoSphere Information Server 性能测试团体

的核心成员之一。他毕业于多伦多大学,在 IBM 有超过 10 年软件开发经验。

您可以通过 [email protected] 联系他。

Page 32: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

32

11. 英特尔法律免责声明 性能测试及评分结果基于使用特定的计算机测量系统和/或部件,这些测试体现了英特尔产品近似性

能。任何在系统硬件,软件设计或配置上差异都可能影响实际性能。买方应参考其他来源的信息去

评估他们正在考虑购买的系统或组件的性能。关于性能测试和英特尔其它产品性能的更多信息,可

以访问 http://www.intel.com/performance/ 本文及相关的材料和信息以“原样”方式提供且没有明示或暗示的保证,其中包括但不限于任何暗含的适销性保证,特殊用途的适合性、不侵权的知识产权,或任何保证在其它方面引起的任何提案、规格、或样品。对于包含在本文中的任何错误,英特尔公司不承担任何责任。对于与本文的使用相关的,或引起的任何索赔,英特尔公司没有责任或义务。 所有产品、产品说明、计划、日期和数字都是基于当前期望的初步值。任何主题如有更改,恕不另

行通知。在不同的渠道,可用性可能会有不同。 *其他的名称和品牌可能是其他所有者的资产。 英特尔公司 2011 年版权所有。所有权保留。英特尔、英特尔标识、核心、安腾、NetBurst、奔腾 和 VTune 是英特尔在美国和/或其他国家的商标。 优化公告 While Intel believes our compilers and libraries are excellent choices to assist in obtaining the best per-formance on Intel® and non-Intel microprocessors, Intel recommends that you evaluate other compilers and libraries to determine which best meet your requirements. We hope to win your business by striv-ing to offer the best performance of any compiler or library; please let us know if you find we do not. Notice revision #20101101 英特尔® 编译器、相关库和相关开发工具可能包含或使用针对英特尔® 和非英特尔微处理器中都存在

的指令集(例如 SIMD 指令集)实现优化的选项,不过面向非英特尔微处理器的优化程度可能稍差一

些。此外,部分面向英特尔编译器的编译器选项(包括并非英特尔微架构专用的选项)也为英特尔

微处理器保留了下来。如欲获得有关英特尔编译器选项包括指令集和相关特定微处理器的详细说

明,请参阅“编译器选项”下的“英特尔® 编译器用户和参考指南”。英特尔® 编译器产品中的大多数库例

程面向英特尔微处理器的优化程度要高于其它微处理器。英特尔® 编译器产品中的编译器和库可为英

特尔和英特尔兼容微处理器提供优化特性,具体取决于您所选择的选项以及代码和其它因素。您将

能够在英特尔微处理器上获得额外性能。 英特尔® 编译器、相关库和相关开发工具针对非英特尔微处理器的优化程度可能与英特尔微处理器相

同或不同。这些优化特性包括英特尔® SIMD 流指令扩展 2(英特尔® SSE2)、英特尔® SIMD 流指令扩

展 3(英特尔® SSE3)和追加 SIMD 流指令扩展 3(英特尔® SSSE3)指令集以及其它优化性能。对于

在非英特尔制造的微处理器上进行的优化,英特尔不对相应的可用性、功能或有效性提供担保。该

产品中依赖于处理器的优化仅适用于英特尔微处理器。 虽然英特尔坚信我们的编译器和库是帮助您在英特尔® 和非英特尔微处理器上获得最佳性能的理想选

择,不过仍建议您对其它编译器和库进行评估,选择最符合您要求的解决方案。我们希望通过致力

于最大限度提升所有编译器或库的性能来赢得您的青睐,如果您发现我们存在不足之处,欢迎您指

正。 公告修改# 20101101

Page 33: IBM InfoSphere* Information Server - Intel® Software · PDF file组件的信息,请访问 IBM InfoSphere* Information Server Version 8.7 product documentation或者IBM InfoSphere*

33

12. IBM 法律免责声明 本文所包含的信息内容仅供参考。除了验证信息的完整性和准确性之外,它是以“原样”提供的且没有

任何种类的明示或暗示保证。此外,这些信息是基于IBM的现有的产品计划和策略,如有更改,恕不

另行通知。对于由于使用本文或与本文相关或任何其它的相关文档所造成的任何损失,IBM概不负

责。本文中的任何内容都不打算,也无任何效果,去创建IBM(或其供应商或授权商)的任何保证或

陈述,或者对使用IBM的产品和/或软件的任何协议或许可,更改条款和条件。 本文中的测试结果是在实验室中,可控的条件下取得的。它代表了一个优化的测试用例。IBM不保证

这些结果和个别的测试结果会有不同。 IBM、IBM logo、ibm.com、InfoSphere Information Server 及 DataStage 是国际商业机器公司在美国、

其他国家或两者的商标或注册商标。这些商标和其它 IBM 注册术语在本文第一次出现时,会被商标

标识符号(®或者™)标记,这些符号表明在本文发表出版时,IBM 拥有这些美国注册的商标或通用商

标。这些商标或通用商标可能也被注册在其他国家。当前,所有 IBM 公司的商标可以在

http://www.ibm.com/legal/copytrade.shtml 的《版权和商标信息》中查询。