高负载处理领域的王者:甲骨文还是IBM

决胜时刻已然来临

IBM与甲骨文公司最近以来意见分歧明显,双方都在尝试从不同角度出发拿出解决方案;但这两家IT巨头企业也不约而同地认为仍然会有一些客户对通用型设备不感兴趣,并因此在不断对运行特定软件堆栈以处理特定工作负载的机型进行调整。

IBM将此项目称为“工作负载优化系统”,而甲骨文则将其命名为“工程化系统”。这些设备到底有着怎样的庐山真面目,又真的会在市场上与客户见面吗?

甲骨文在为其Exadata以及Sparc SuperCluster设备的宣传上可谓不遗余力;反观IBM则比较低调,其Smart Analytics System、DB2 PureScale数据库集群以及Netezza数据仓库设备在推介方面都显得波澜不惊。

但是作为一家系统产品领域的晚学后进,甲骨文公司是从去年七月份斥资74亿美元收购Sun后才进入角逐圈,因此宣传攻势较为主动也就可以理解了。这样初来乍到的新人若羞于振臂高呼,实在很难引起客户的关注。

Sun在x86服务器系统的竞争中败下阵来,而甲骨文由此意识到自己必须采取与之不同的发展策略,以期与系统领域的霸主蓝色巨人展开长久的周旋。

就在一年多之前Sun收购项目完成时,惠普-甲骨文数据库设备针对名为Exadata的甲骨文数据库系统做出了一次重要的存储服务调整。这次调整奠定了如今Exadata数据库集群、Exalogic应用程序服务集群及其基于Sparc超级集群系列的基础。

最初的惠普-甲骨文设备拥有八个ProLiant服务器节点,并行运作着由甲骨文出品的11g数据库;其整合工作由Real Application Cluster(简称RAC)集群软件负责。这就使得数据库的并行处理、容错性以及可扩展性得到了坚实的保证。

Exadata存储节点利用一种混合型分栏算法对数据库文件进行压缩,因此其占用空间较小且检索过程也变得更快。它还会在将压缩数据传递给各11g数据库节点之前,通过甲骨文11g代码对SQL查询指令加以预处理。

惠普-甲骨文数据库设备中的数据库及存储节点运行Linux系统,并通过20Gbps的无限带宽网络相互连通。

甲骨文公司看到胜利的曙光

甲骨文在收购Sun公司之后,旋即对硬件进行了一次大幅度修整。具体来说,他们为Sun的Constellation服务器添加了速度更快的无限带宽网络及内存加速服务器平台,这一加持使得设备整体性能有了显著飞跃。

而在其后的2009年9月,即宣布Sun收购项目及后者正式停止运营的期间内,甲骨文公司将正处于上升阶段的系列设备整体放弃,并在其后把系统核心中的存储服务机制命名为Exadata。此番变动使得系统在运行甲骨文数据库工作负载时,其在线交易处理能力(简称OLTP)及数据仓库处理能力有了大幅提升。

甲骨文公司迄今为止已经售出了超过一千台此类Exadata设备,并宣称将在2012年5月的年度财报收官之前再售出三千台。

目前Exadata数据库设备已经拥有两个成员,而甲骨文公司很可能在其将于明年在旧金山举办的2012 OpenWorld客户大会上公布另一款系列新产品。

初探Exadata

于去年九月份推出的Exadata X2-2以Sun公司名为Exadata V2的初代Exadata设备为基础,在硬件上加以改良的换代产品。

在配置上,Exadata X2-2分为四分之一、二分之一及全机架三个档次。其硬件基础为使用英特尔至强5600处理器的双插槽服务器节点;而同样于去年九月份面世的Exadata X2-8则采用英特尔至强7500处理器。

Exadata X2-8数据库节点拥有八个处理器插槽,而至强7500处理器则使得每个插槽具备了更多运算核心,同时主内存也更为庞大。这意味着该设备能够运行更为繁重的工作负载实例且不必过分依赖于RAC提供的可扩展性。

甲骨文 Exadata X2-8 OLTP/BI 集群机箱

Exadata X2-2机架可以容纳八台Sun Fire X4170服务器,其中每一台都拥有两个六核心3.06GHz至强X5675处理器以及11g与RAC数据库节点。各个节点具备的主内存高达96GB(最大可扩展为144GB)、四个300GB容量的万转SAS硬盘、两个QDR无限带宽端口以及四个千兆以太网端口。

机架中还部署了三个甲骨文自主研发的36端口QDR无限带宽交换机,其作用是横跨各个数据库节点并将它们与Exadata存储阵列相连接。Exadata每个单元都以Sun Fire X4275双插槽至强服务器为基础,同时拥有甲骨文自家的F20 FlashFire PCIe闪存模块。各模块的内存容量为96GB,通过PCI-Express 2.0接口接驳于设备之上。

这些X4275服务器预留的空间足以容纳12块硬盘,而甲骨文提供的硬盘选择有两种:一万五千转高性能600GB SAS硬盘以及七千二百转高容量2TB SAS硬盘。

每个机架由十四个上述Exadata阵列构成,总核心数为168个,记忆体总量为5.3TB,用于处理即将传递至数据库节点的数据。

Exadata数据库节点能够运行甲骨文的Linux或者Solaris 11 Express开发版本,而且不出意外的话也会支持家族新成员Solaris 11生产版本。Exadata存储服务器则只采用Linux系统。

甲骨文公司宣称在硬盘读写速度合格的前提下,Exadata X2-2拥有25GB每秒的硬盘带宽;而内存驱动器带宽则达到惊人的75GB每秒,也就是说11g数据库在这种情况下将优先处理来自闪存的数据,硬盘则由于速度限制而不得不退居二线。

Exadata X2-2机架在数据读取速率上能够达到每小时12TB,而可用的非压缩容量则达到45TB;同时其每秒硬盘读/写操作数量(简称IOPS)为五万次,而每秒闪存读/写操作数量则为一百五十万次。

高容量选项能够提供三倍的可用数据库容量,但硬盘IOPS则相应降低到原来的一半。无限带宽交换机最多支持八台Exadata X2-2机架互连,但目前还不清楚RAC在多集群交互方面的实际表现。

成本核算

无论客户选择高容量还是高性能方案,价格方面并没有区别:每套机架110万美元。Exadata存储服务器中的每个硬盘要收取一万美元的软件授权费,也就是说每个存储节点的开销为12万美元,而使用全部14个存储节点将带来168万美元的开支。

甲骨文公司的数据库软件并不包含在设备支出或者RAC授权费当中。11g企业版数据库的售价为每核心47500美元,乘以0.5的因数后为23750美元;而RAC的售价则为每核心23000美元,折后为11500美元。因此在Exadata X2-2整套机架96个核心的基础上,软件授权费折前为447万美元。

Exadata X2-8使用的是八台X2-2全机架配置所使用的双插槽服务器,差别在于将双插槽更换为拥有八个插槽的Sun Fire X4800服务器,该服务器于去年六月推出。全部数据库节点都配备有英特尔至强X7560处理器,拥有八个主频为2.27GHz的核心。

X4800服务器的标准配置为1TB主内存,这一容量比之X2-2数据库节点的内存配备高出十倍有余。此外,X4800服务器还拥有八块300GB的万转SAS硬盘以及八个QDR无限带宽端口,用于将Exadata存储节点中的交换机与其它集群中的节点将连。

甲骨文公司一向小心谨慎,因此不出意外地,这一次他们也没有明确给出X2-2与X2-8之间的性能基准比照;但显然二者在Exadata存储系统的接纳及处理速度上是相同的。X2-2拥有96个核心,而X2-8的核心数量则为128个,不过至强5600核心的运算速度又快过至强7500核心。

但我们也必须要考虑到使用RAC所带来的额外支出。一套双节点集群比起八节点集群来无疑能节省大量授权金,而在1TB庞大内存的支持下,我们也许可以将整套数据库系统都运行于一个节点当中。无论具体怎样选择,大家都能够将八套X2-8机架整合在一起,而甲骨文Linux及Solaris 11 Express的配备也能应用于数据库服务器。

我们目前明确了解到的是,Exadata X2-8机架售价为165万美元,这比X2-2设备贵出了一半。而128核心下的11g及RAC堆栈售价为226万美元,这在软件支出上也比X2-2设备贵了三分之一。Exadata存储软件的额外开销也遵循此例。

总而言之,X2-8的折前价格为559万美元多一点,高出全配置X2-2机架系统四分之一左右。

尽管甲骨文公司倾向于将Exadata设备描述成处理OLTP或是数据仓库工作负载的最佳选择,但客观来讲运行OLTP工作还是应该选择数据库节点较多的方案;因为这种结构与客户们过去常用的SMP(即对称多处理机)节点方案更为相似。

无论客户想使用哪种节点搭配方案,甲骨文公司都已经放出售价并提供像两台数据库服务器加三台Exadata存储服务器这样的配置组合,以迎合小型企业的使用需求。

IBM采取的多样化路线

与将Exadata设备作为业务处理及数据仓库最佳解决方案的甲骨文不同,IBM公司为不同的业务需求准备了多样化的设备选择——而且他们很可能坚信自己的System Z与Power 795 SMP服务器在大多数OLTP任务的处理能力上优于甲骨文的Exadata集群。

IBM公司确实在AIX系统中的DB2数据库方面拥有一套不错的并行执行方案,该系统名为PureScale,并且自1994年公布以来已经售出了三十二套这类用于事务处理的Parallel Sysplex集群设备。此外,他们还打造了一套名为DB2 Multisystem的Parallel Sysplex集群技术,自1995年推出以来为其AS/400系统及DB2/400数据库提供了相当大的支持。

而就在今年九月份,IBM公司将PureScale与经过大幅调整的WebSphere中间件相结合,创造出了另一套名为WebSphere业务集群设备的全新并行数据库。该数据库的目标在于应对任务密度较大的交易处理环境——例如预订系统及财务处理系统——而这一领域此前是由IBM的Z及大型机业务处理设备环境负责的。

IBM公司在数据仓库方面也留有后手。不仅有以x86为基础、具备数量处理硬件加速(这一点与甲骨文Exadata颇为相似)的Netezza设备,Smart Analytics System(即智能分析系统)也是这方面的主力之一。后者针对x86、Power以及大型机服务器进行了分别调整,并包含了InfoSphere数据仓库与Cognos分析软件;各项功能不仅紧密契合,同时也通过调整得以与各类机型并行不悖。

DB2 PureScale是IBM数据库领域的一大特色产品,但却没有像甲骨文那样将其当作独立的设备系列;目前其只能运行于安装了AIX系统的Power System之上。

就在2009年10月PureScale公布之时,甲骨文公司正不遗余力地宣传Exadata集群。因此出于推广的需要,曾有种说法称PureScale将被移植到Windows及Linux系统当中,但事实证明这一消息并未成真。IBM公司同样不可能将DB2 PureScale集群产品交给HP-UX或是Solaris,尽管其中根本不涉及任何技术方面的难题。

与来自甲骨文公司的Exadata集群一样,DB2 PureScale也采用了无限带宽技术,用以将配备了AIX以及DB2的多个服务器节点连接起来。

PureScale设置了一个指定的数据库接入节点,这种做法与并行超级计算机集群中的首节点颇为相似。PureScale管理着业务处理过程中的数据库字段锁定工作,而集群中各节点在作为OLTP流程中的一部分相互搜索信息时,其内存锁定与解锁工作也尽在监控之下。

在无限带宽技术的远程直接内存访问功能的辅助下,各节点间的连接极为紧密,也就是说处理器被隔离于网络堆栈之外,这与TCP/IP集群技术大不相同。中央缓存服务器还拥有一套镜像体系,这样单独组件的故障就不会引发什么了不得的大麻烦。

IBM公司表示,PureScale方案减少了节点之间的通信阻碍,而这种阻碍正是并行数据库在实施过程中的最大绊脚石。同时PureScale在Power处理器上使用的12X远程读/写端口也切实提高了内部节点的通信速度。这种12X 读/写端口是一种经过IBM自主调整的无限带宽技术的衍生物,用于通过磁盘控制器、硬盘或是固态硬盘以远程方式满足业务处理中的读/写需求。

Netezza的胜出机会

如果大家需要建立一套数据仓库系统,那么Netezza绝对是值得考虑的好选择,这家公司于去年九月份被IBM以17亿美元的价码收入囊中。Netezza是一家发展势头极为迅猛的数据仓库设备制造商,其拥有多种定制型开源PostgreSQL数据库,并研发出一套现场可编程门阵列(简称FPGA)的协处理器产品作为SQL预处理之用,这与甲骨文公司在Exadata集群中所使用的Exadata存储服务器在原理上不谋而合。

不仅如此,该公司还在IBM的BladeCenter刀片服务器上鼓捣出了一套名为TwinFin的设备,并且与日本服务器制造商NEC私下里眉来眼去。IBM公司当然不可能坐视这一颇具潜力的后起之秀投入竞争对手的怀抱。按理来说,IBM公司从长远角度必然会采用一些Netezza设备所拥有的技术,并将其应用到各类并行数据库系统当中。

最初的Netezza设备以Power架构为基础(这套架构并非直接取自IBM,而是来自IBM的某家原始设备制造商)。基于IBM刀片服务器的TwinFins设备于2009年8月推出,拥有一台HS22双插槽至强5500刀片服务器,并配备了一台拥有八套FPGA系统的协处理服务器——每套系统具备一个x86核心。

这种组合被命名为S-Blade;FPGA系统使数据由存储设备传递至PostgreSQL数据库的过滤速度大大提高,同时也解决了由数据库列表及压缩管理所带来的复杂的排序及连接工作。

IBM的高容量数据仓库产品——Netezza C1000设备

在收购结束后,IBM公司将这台并行数据库设备命名为Netezza 1000。一台单独的Netezza 1000设备包含了12套S-Blade组合,拥有总计96个x86核心(这与Exadata X2-2相同)。该设备具有32TB的可用无压缩数据空间,并提供了每小时3TB的载入速率及每小时4TB的备份速率。

HS22刀片服务器采用红帽企业级Linux 5.3,IBM公司还为DB2、Informix、SQL Server、MySQL、甲骨文、Teradata、Sybase以及RedBrick数据库准备了各类端口工具,旨在使以上各类数据库与Netezza的PostgreSQL衍生产品相交互。

Netezza 1000设备最多可以在同一个镜像中容纳十套机架的内容,这比Exadata设备还要多出两套。

今年六月,IBM公司推出了着力打造的Netezza设备新产品——C1000机型。这一新机型包含了四套S-Blade组合及十二个硬盘接口,这使得一台机架的非压缩数据库空间达到了144TB(显然这种配置使得用于数据预处理的运算核心大幅减少)。

该设备最大扩展能力为八机架,由此带来的32套S-Blade组合提供了总计256个核心及FPGA系统,可用空间也达到1.15PB。Netezza在数据压缩方面的表现为略低于4:1,这使用户的可用容量进一步得到提升。

IBM公司给出的高容量型Netezza设备定价为每TB 2500美元,而标准设备的定价则为每TB 10000美元。显然硬盘比CPU及FPGA经便宜得多。

来自IBM的其它机型

就在甲骨文忙于吞并Sun公司之时,IBM还没有收购Netezza。在这一阶段,IBM推出了并行数据仓库系列产品以及名为Smart Analytics System的分析型设备。

原始机型以中端Power 550服务器集群为基础,配备了双核Power 6处理器、32GB内存,各节点间的连接则由Juniper网络公司提供的千兆以太网交换机负责。由四个服务器节点共享的DS5300磁盘阵列通过光纤通道适配器相互连接。

在最初的Smart Analytics System中,其服务器节点运行的是AIX 6.1系统以及IBM的通用并行文件系统,各节点的自动管理则由Tivoli系统自动化负责。集群中的每个节点都配备有Cognos 8模块,其中包括BI Server、Go Dashboard以及BI Sample。

其它三台设备则共同瓜分剩余的十二个运行着IBM InfoSphere数据仓库(由DB2 V9.5数据库衍生得来)的逻辑分区,并提供总计12TB的用户空间。这一设置最大可扩展为通过19个机架提供53个数据库节点、支持约5000个命名用户以及总计200TB的可用空间。

去年四月,IBM公司进一步扩大了Smart Analytics System的产品阵容,将以Power 7为基础的系统集群引入其中。他们还为新成员添加了以System X x86服务器及System Z大型机为基础的衍生产品,同时将底层数据库系统升级为DB2 V9.7发布版,并提供了一套闪存存储方案以迎合由于SQL处理任务较为繁重而带来高I/O性能需求的客户。

Smart Analytics System 5600以IBM的System x3650 M3服务器为基础,这台2U机架服务器拥有两块英特尔至强5600系列处理器。IBM不惜为其服务器节点砸下主频高达3.33GHz的六核心至强X5670处理器,并提供了8GB、32GB以及64GB三种内存选择。

该设备最多能够支持288GB主内存,并拥有十六个普通硬盘或者固态硬盘接口。这些服务器节点配备了IBM DS3500磁盘阵列,具备24 x 2.5英寸的外设托架,能够以附加外设的方式支持最多192个外接设备,并可以通过光纤通道或SAS适配器连接到服务器。

服务器节点运行SUSE Linux Enterprise Server 11。该软件堆栈包含了与原始Smart Analytics System相同的InfoSphere数据仓库扩展、DB2以及Cognos 8分析工具,而Fusion-io固态硬盘则作为提升每秒读写能力的备选方案存在。

IBM公司还拿出一套名为5710的系统,作为Smart Analytics System在x86设备上的衍生产品。这套系统以System x3630 M3服务器为基础,其2U机架服务器拥有14 x 3.5英寸以及28 x 2.5英寸两种磁盘尺寸配置。该设备采用3.06GHz主频的至强x5667处理器,最大主内存容量为192GB。因此我们可以为这套5710节点配备更大的硬盘空间,但相应的内存容量相比5600节点则有所减少。

Smart Analytics System 7700于去年十月份发布,其对原始集群进行了一定程度的升级,并以于去年八月发布的IBM Power 740服务器为基础。Power 740是一套双插槽服务器,能够配备四核心、六核心乃至八核心的Power 7处理器,主频则在3.3GHz到3.7GHz之间。该设备原本的主内存容量上限为256GB,但只要IBM公司对单条16GB的DDR3内存提供支持,其内存上限将可达到256GB。

根据具体型号的不同,我们可以在每个单元中获得六个或八个2.5英寸的600GB SAS硬盘接口。这套7700并行系统使用与DS3500同样的外部磁盘阵列,并在AIX系统中采用InfoSphere数据仓库及Cognos 8堆栈——有趣的是,此处采用的仍然是AIX 6.1版本,而非去年针对Power 7设备所发布的AIX 7.1。

IBM Smart Analytics System 7700 DW/BI集群

最后,出于IBM公司对大型机始终如一的偏爱,Smart Analytics System家族中的9600产品也就应运而生了;该设备采用来自System Z大型机的Z/OS分区作为数据库服务器,而Cognos分析工具则运行于Z/Linux分区中。

在标准配置中,其硬件选择主要以System z10 BC中端大型机为基础(目前还没有升级为今年六月发布的、处理引擎更强的System Z Enterprise 114)。

Smart Analytics System的大型机版本在一套BC级大型机中部署了两个分区,一个运行z/OS以及DB2数据库,而另一个则运行Linux以及Cognos工具。该设备能够运行最大尺寸为100TB的数据库,大家可以根据自己的实际需要利用Parallel Sysplex集群工具对容量进行扩展。IBM公司抛出DS8700外部存储阵列作为数据保护机制,并声称9600设备能够支持最多一万名用户。

Smart Analytics System 9600的具体售价信息尚未公布,但一台5600级机架设备的售价为214万美元,而7700级机架则售价449万美元。如果大家想利用Fusion-io固态硬盘让自己的5600级机架锦上添花,那么总售价则会飙升为368万美元。

IBM公司还没有为Smart Analytics System 7700设备提供固态硬盘选项,但当Power 7+处理器面世时客户大概就能获得这一新方案。

齐头并进: SunCluster与Exalogic

说到这里,我们所提及的各种设备还只是甲骨文与IBM巨大产品储备的一小部分。更多重量级的成员同样不容忽视,而且无疑大多数还是来自Larry与蓝色巨人旗下,当然二者的竞争对手们也准备了自己的杀手锏,作为迎合客户特定集群需求的解决方案。

甲骨文阵营中最不应该忽略的就是Sparc/Solaris基础,其只认Sparc平台(连Linux系统都不认)、坚决运行甲骨文11g/RAC应用程序的硬派作风令人印象深刻。在今年九月末的OpenWorld大会之前,甲骨文公司抢先推出了一套Sparc SuperCluster配置,其上配备了Sparc T4-4四插槽服务器、Exadata存储服务器以及通用型ZFS磁盘阵列。

甲骨文Sparc SuperCluster T4

具体来说,Sparc SuperCluster机架包含了四台Sparc T4-4服务器,每台服务器各采用四块八核心主频3GHz的Sparc T4处理器。总体看来,这四个用于运行甲骨文11g及应用程序代码的节点具备4TB内存以及97TB至198TB不等的硬盘容量(视客户选择而定)。

这套机架拥有多个QDR无限带宽交换机以及8.66TB的Exadata闪存存储阵列,其每秒字符读写次数可达120万次。甲骨文的ZFS 7320存储阵列也包含于其中。这些数据库节点能够运行Solaris 10或是Solaris 11。到目前为止SuperCluster的售价尚未公布。

另一款颇具亮点的甲骨文工程化系统是Exalogic Elastic Cloud,这是一套经过专项调整用以运行甲骨文WebLogic应用程序服务器虚拟化实例的设备。在全机架配置中,Exalogic集群拥有30台1U机架服务器,其运算核心数量高达386个,处理器采用主频为2.93GHz的至强X5670。

每个节点具备96GB的主内存,这与Exadata X2-2节点的配置相同,同时机架外部硬盘容量为40TB。QDR无限带宽技术被用于节点之间的互连,这使得各服务器之间得以并行运作;而千兆以太网交换机则用于将应用程序服务集群与外部世界相连通。

Exalogic集群中的秘密武器被称为Cache Coherence(即高速缓存一致性)。顾名思义,这款网格软件的作用是让三十台服务器成为一个巨大的应用服务器整体,进而为外部环境所调用。

Cache Coherence覆盖着应用服务数据及工作负载的均衡、同步、存储及划分工作。

甲骨文使用自有的红帽企业级Linux,其Xen管理程序及JRockit虚拟机中的资源交换文件用于运行WebLogic应用服务(JRockit以及WebLogic是如何划归甲骨文麾下的呢?没错,还是通过收购)。Exalogic集群应用服务器的售价同样尚未公布。

有点头痛脑热?听听沃森大夫怎么说

IBM公司在其BlueGene大规模并行超级计算机上部署了一套原始版沃森问答机,但最终他们决定将主要精力放在以Power 7为基础的Power 750高负载服务器上,旨在通过JeoPardy!问答节目发起一项机器向人类智力挑战的空前壮举。

尽管沃森的象征意义大于实际意义,但不可否认这是一项确确实实的科学成果;事实上在蓝色巨人不遗余力地投资背后,该项目除了在纽约的IBM约克镇高地研究机构中嗡嗡作响外并没带来什么切实的收益。

IBM的沃森问答系统

沃森设备的十个机架全部由Power 750服务器构成,Power 7核心数量总计达到2880个,主内存也高达16TB。

沃森凭借庞大的内存配备以及来自Juniper的高速千兆以太网交换机处理节点之间的交互,并利用DeepQA软件堆栈的并行特性通过数据库搜索迅速找寻关键字,最终给出回应。

该设备在竞赛中向Ken Jennings发起冲击,并顺利终结了这位曾在节目中获得74连胜的顶级选手;一同遭到淘汰的还有Brad Rutter,他在两千年初曾在竞赛中赢取到325万美元的奖金。

在内存中创建出一套数据库文本,创建过程以Apache Hadoop MapReduce算法及雅虎的HDFS文件系统为基础,同时模仿了谷歌的搜索引擎业务处理方式。

该堆栈同时包含了一组名为非结构化自信管理架构(简称UIMA)的代码,这是来自IBM公司的数据库大师们于早在2005年就创立的一套框架,旨在帮助企业应对诸如文本、音频及视频流等类型的非结构化信息。UIMA代码的执行使沃森具备了处理自然语言及分析文本信息的能力,并在帮助找出Jeopardy!节目中问题的线索方面表现卓越。

IBM公司正与哥伦比亚大学的教授与研究人员以及来自Nuance和Wellpoint保险公司的语音识别专家们一道,尝试将沃森的能力引入商业化医疗专家系统。

就在沃森赢得Jeopardy!竞赛节目的数周之后,我曾经亲眼见证过这台设备的测试流程。而且当它存储了大量医疗期刊及百科全书的信息之后,确实在各类鉴别及诊断问题上交出了相当令人满意的答卷(尽管其表达能力与豪斯医生仍然存在差距)。