前言
根据市场调研分析机构 Gartner 发布的《 Data Warehousing Trends for the CIO, 2011-2012 》 1, Appliance(一体机)技术成为数据仓库 、领域未来市场热点之一。IBM 智能分析系统(Smart Analytics Systems)和 IBM Netezza 作为 IBM 主推的两大重量级 Appliance,吸引了众多市场目光。 本文首先对两大 Appliance 的架构特点进行简单的描述,然后以基准测试 TPC-H 为数据源(300GB 数据量)和测试案例(Q1-Q22)对智能分析系统和 Netezza 的 加载性能、压缩比、查询性能进行对比。读者可以通过本文对 IBM 智能分析系统 和 IBM Netezza 的性能概况进行初步了解。
智能分析系统架构
IBM 智能分析系统(以下简称 ISAS)是一系列预配置、预调优、 预集成的硬件、 软件以及服务系统,为不同的客户应用场景提供适合的 数据仓库解决方案,依据 客户具体需求集成的一体机允许客户加电即可 部署数据仓库应用。ISAS 家族中包 含了以 IBM X series 为平台的 5600 系列, 以 IBM P series 为平台的 7700 系列,以 IBM Z systems 为平台的 9600 系列。 每个系列都有不同的配置规模,客户可根据 自身需求不断扩展。
以 ISAS 7700 系列为例,配置规模分为 eXtra Small, Small, Medium, Large, eXtra Large 等几款。ISAS 7700 系列包括 6 类模块(Module),即基础模块 (Foundation module),用户模块(User module),数据模块(Data module), 故障转移模块(Failover module),数据仓库应用模块(Warehouse applications module)以及商业智能模块(BI module)。客户可以根据数据 规模和应用场景选择需要的模块以及模块数量。下面以 ISAS 7700 S(Small) 配置规模为例,对智能分析系统架构进行简单的描述,如下图 1 所示。
图 1. ISAS 7700 S 系统架构
在 ISAS 7700 S 配置中,数据仓库应用模块和商业智能模块是可选的,客户 可根据需要决定是否集成该模块。S 配置中,基础模块和故障转移模块是必需的, 数据模块有两个,但可根据数据量进行扩展。基础模块包含部署节点 (Management node)和数据库管理节点(Administration node), 部署节点用于部署 ISAS 集群以及后期的维护管理等任务,数据库管理节点包含 分区数据库环境的第一个数据库分区,作为 Coordinator 节点,用于存储 系统编目表、存储单分区表以及接收来自应用的各种查询。每个数据模块包含 一个数据节点(Data node)和四个 DS3524 外部存储,模块中的系统资源, 即 CPU、Memory、I/O、Network 以及外部存储设计都进行了均衡配比,从而避免 某一资源成为性能瓶颈。故障转移模块包含一个备用节点(Standby node), 备用节点通过 SAN 存储网络访问失败节点的外部存储,并接管失败节点中运行 的程序和任务。数据仓库应用模块包含数据仓库应用节点(Warehouse application node)和 OLAP 分析节点(Warehouse OLAP node)以及一个 DS3524 外部存储。数据仓库应用节点用于部署各种数据仓库应用,而 OLAP 分析节点 主要用于数据挖掘、Cubing services 等 OLAP 应用,连接的存储设备用于创建 所需的各种文件系统,两台节点互为主备。架构中的 SAN 交换机用于联结数据 仓库节点(Administration node,Data node,Standby node)和外部存储 设备,Juniper 10Gbps 以太光纤交互机用于联结集群中所有节点,主要用于 DB2 分区数据库环境中不同节点分区间(FCM)通信。