在信息膨胀的时代,数据的飞速增长让企业不堪重负。Gartner研究表明,对于大型企业来说,数据增长是数据中心硬件基础架构所面临的最大挑战。据预测,全球数据量在未来五年将增长650%,交易型数据越来越多,业务的增长与合并使数据处理负载量激增,巨大的压力对即时计算速度以及数据访问的可靠性提出了更高的要求,尤其在数据驱动的关键性业务中,这一点表现得更为突出。
关键性业务的高效运行离不开企业的命脉——数据库,传统的大型企业数据库平台有些还在采用RISC小型机方案,但是这种方案的投资成本居高不下,且运行维护难度大。如何随数据增长弹性扩展数据容量,并在成本与性能之间取得平衡,成为摆在企业面前的一个难题。我们下面将以IBM最新的基于英特尔至强E7处理器的eX5服务器,以及DB2 pureScale为例,来阐述如何通过x86服务器集群来帮助企业应对上述挑战。
基于英特尔至强E7处理器的IBM System x3690 X5服务器
X86数据库集群解决之道
我们知道,对于在线交易处理(OLTP)业务来说,系统平台的性能高不高只是一个指标,关键的是,每天、每分钟都要保证提供持续的高性能,而不管上面的应用工作负载如何变化。而且,OLTP服务器还需要灵活可扩展,根据组织业务的发展而改变。
传统上,对于象OLTP这种企业级数据库应用来说,大型SMP服务器是个不错的选择,但其成本相对高昂,而且其扩展性也局限于Sclae-up(向上扩展)一个维度。集群式(Scale-out)的x86数据库扩展方案提供了另一种选择,这种技术实际上也已经使用了多年。不过,集群的应用仍然是个技术活,需要管理人员耗费许多时间和精力来做数据重分区、工作负载平衡、性能优化等工作。
为此,IBM和英特尔两家公司也一直在合作,试图通过新的技术来改变x86计算的经济性。其中一个合作成果就是面向集群、分布式系统的OLTP平台,实现了无可比拟的灵活性和可扩展性。在这个平台中,基于英特尔至强E7处理器的IBM System x eX5服务器,如x3850 x5、x3690 x5等,提供了关键业务环境下数据密集型应用负载的基础。而IBM的DB2 pureScale功能,则能够把这些服务器以集群方式连接在一起,凭借高性能、线性扩展和高可用性等特色,共同以更加经济的方式来支持大规模的数据库应用,DB2 pureScale的总体架构如下图所示:
DB2 pureScale架构
如上图所示,DB2引擎在集群的各个服务器上运行,在每个服务器之间提供一致性的访问。DB2pureScale提供故障检测和自动恢复的集群整合服务。IBM通用并行文件系统(GPFS)群集实现共享磁盘架构。群集缓存功能(CF)提供Group Buffer Pool (GBP) 和Global Lock Manager (GLM)的运行实例。这些组件可确保群集服务器之间的直接互通,通过锁定和缓存提高数据库性能。
不间断运行的高可用性
在一个DB2 pureScale集群中,一台服务器可以通过冗余来避免单点故障,并提供集中的锁管理服务、面向数据页的全局缓存及其他服务,从而消除了在传统分布式系统中托管数据库的挑战与限制。pureScale集群的成员服务器在做读、写操作时,可以同时访问后台共享的数据库。它们也可以通过InfiniBand网络来直接访问中央服务器。通过这些技术,一个由多台x86服务器组成的DB2集群系统,对于上层的OLTP应用来说,看起来和运行起来都象一台高性能服务器一样。如果集群中的一个节点宕机,系统会自动地把负载切换到备用节点上去,从而尽可能减少意外宕机时间。因此,DB2 pureScale可在实现快速操作的同时获得更高的RAS特性:
成员服务器故障情况下业务保持运行
象搭积木一样随负载变化扩展
在性能与扩展性方面,基于英特尔至强E7技术,以及IBM eX5架构独有的MAX5内存扩展和FlexNode模块化技术,IBM的x3850 X5也提供了非常灵活的高性能、高可用和扩展性。通过模块化组合,x3850 X5可以从两颗CPU扩展到4颗,进而扩展到8颗(由两个x3850 X5节点组合成),其内存可以从2个内存条扩展到192个。因此,跟一般的四路服务器相比,x3850 X5可以面向内存密集型应用,提供更高的CPU计算性能,以及更大的I/O吞吐带宽。运行IBM DB2 pureScale的服务器就像搭积木一样不受限制地进行连接,高效地支持大型数据容量和应用负载。
基于至强E7的IBM System x3850 X5服务器
值得一提的是,在传统的集群中,当服务器收到一个请求,它必须寻找集群中的其他服务器缓存数据。过去的集群解决方案使用的是用分布式缓存和锁定机制,导致搜索耗时过长和性能下降。随着集群的增长,搜索变得更加复杂,延迟增加。通过消除这些复杂而耗时的操作,DB2 pureScale可以实现快速的集群线性扩展。集群中的每一个服务器可通过高速网络直接访问集中缓存。这种集中式缓存是IBM从大型主机架构上移植下来的“秘方”,也是实现群集服务器环境数据库低延迟性能的关键因素。当一个服务器访问数据进行传输时,存储数据不仅存储在服务器的本地内存和缓存中,而且存储在集中缓存中。
改变x86计算的经济性
从成本方面看,与传统大型SMP小型机相比,使用标准化的x86服务器本身在硬件采购上就会节省一大笔。而且,得益于DB2 pureScale集群技术,管理成本也会相应降低。管理员将服务器添加到集群中将变得异常简单。不同于其他的数据库集群方案,DB2 pureScale不要求应用的更改,不用重新分配数据库及手工设置负载平衡。任何大型服务器上运行的应用程序都可以快速简单地迁移到DB2 pureScale集群。需要在群集中添加新的服务器时,不用更改代码,也不必付出大量的管理开销,删除群集服务器也很容易,使IT集群规模可以向上或向下响应每月工作负载的波动。
不容忽视的至强E7
笔者认为,面向企业的关键业务应用,要构建高性能、高可用、灵活可扩展、且低成本的优秀方案,离不开产业链上下游厂商的通力合作。上面主要介绍了IBM在服务器硬件和DB2 pureScale软件方面的技术创新,而实际上我们还应该记住为关键业务进行了无数优化的至强E7处理器芯片。
全新的英特尔至强E7处理器采用了32纳米芯片制程工艺,最多可集成10个支持英特尔超线程技术的内核,相比英特尔上一代至强7500 系列处理器,其性能提升最多可达40%。换句话说,今天的一台E7服务器性能上相当于过去的18台双核至强服务器。而且,从上一代的至强7500开始到今天的E7处理器,x86服务器在纵向扩展性方面(可达256路系统)和高可用性(20多条从小型机移植下来的RAS特性)等方面,都取得了飞速的发展。正是得益于x86平台惯有的低成本、标准化优势,以及上述进步,使得今天98%的服务器都是基于x86架构,而且这一架构正在进一步进军那些被RISC小型机占据的关键业务领域。
英特尔至强E7系列处理器
小结:x86的机会
在一份公开的红皮书中,IBM分享了一个在基于至强E7的x3690 X5服务器上运行DB2 pureScale的案例:一家分销通信、安全、线缆等零配件的全球500强公司,拥有42.5万种产品和10万多家客户,其销售人员分散在52个国家,每年销售收入为50亿美元。通过其供应链和数据仓库管理系统,全球的销售人员可以快速获得这些产品信息,进入库存与订货系统。因此,系统每一个小小小的中断都可能会产生高昂的代价,而且影响的不只是这家公司本身,还有许许多多的客户。由于现有的大型机环境不支持业务团队提出的关键业务应用,为此,该公司选择了在x3690 X5上运行DB2 pureScale的方案,实践证明,这一数据库集群方案不仅满足了满足了公司的性能和可靠性要求,而且为未来的发展也预留了空间,可以提供独特的灵活性和几乎没有限制的可扩展性。
从这个案例我们看出,面向金融、电信、大企业等机构的关键业务领域,x86平台已经做好准备,需要的只是一个个机会。