【51CTO 特约报道】目前越来越多的企业开始采用高性能的硬件搭建自己的服务器,而且高性能硬件也日趋成熟。CPU的核心数越来越多,内存越来越大并且价格变得更加低廉,SSD设备的性能也远远超越以前的IO设备,万兆网络也逐步成为一种主流。但是企业在购买的时候需要如何选择呢?只是一味购买新的硬件设备往往会对企业本身造成不良后果,甚至带来沉重的经济负担。
余锋(花名:褚霸)
在2012年7月8日阿里技术嘉年华上记者遇到淘宝核心系统数据库组-高级技术专家余锋(花名:褚霸)。在会上,褚霸以《利用新硬件提升数据库性能》为题分享了淘宝在利用高性能新硬件的宝贵经验。
从硬件到软件再到软硬结合
随着业务需求的不断增加,企业意识到需要增加自身在软硬件方面的投入,大家都纷纷把目光投入到新硬件采购上来。对于淘宝如此庞大的业务量而言,性能与成本之间就存在着很微妙的关系。褚霸表示:“在性能与成本上来说,整个阿里集团拥有软件的定制能力,硬件是根据软件本身的特点进行采购的,做一些定制化的东西。成本上来讲需要控制在合理的范围内,需要高性能,但是成本不能够太过分。其实对于硬件来说投钱下去就可以见到效果,软件上面投钱下去不一定能很快的看到效果。”
就在当天的大会上我们不难看出,不论是哪个行业,大家多多少少都在关注高性能硬件这方面的东西,只不过没有淘宝下了那么大的力气。褚霸认为:“未来大家也都会走我们这样的一条路,这是未来的一个趋势。”
大家不难看出,在互联网刚刚起步的那几年企业购入大批硬件设备,比如IBM小型机、EMC的存储;当企业业务发展到一定程度的时候,高额的硬件成本让不少企业开始转向采用软件开发解决企业内部业务需求,当软件开发达到一定程度的时候企业就开始逐步采用定制化的高性能硬件提升软件性能。这样就形成了一个从硬件到软件在到软硬结合的趋势。
阿里集团与去IOE的这条路
淘宝从很多年以前就开始筹备去IOE计划,并且淘宝是目前国内去IOE做的做彻底也是最成功的一家。去IOE是一项非常庞大并且负复杂的项目,不单单是底层数据库的变化,硬件也要跟着变。
褚霸告诉记者:“在项目刚刚开始的时候,我们在前端也做了很多工作,前端需要把数据库进行弱化,之前对Oracel数据库用的比较狠,在开始需要对Oracle数据库进行弱化处理,之后在将其替换掉然后在进行其他的事情。”
去IOE本身就是一场革新,一场企业内部的技术革新。这对于企业内部的IT技术团队来讲也是一次更新与交替的时刻。对于工程师而言,尤其是Oracle DBA就面临这选择:转型为MySQL数据库工程师还是离职继续做Oracle DBA。这对于企业IT部门来说是一个巨大的冲击。
面对这样的变化集团庞大的数据库团队又是如何面对的呢?作为数据库项目组的主要负责人,褚霸告诉记者:“这种冲击对于整个团队并没有造成太大的冲击,这是一个公司整体的规划,并且从很早的就开始筹备,从上到下已经形成一个共识,支持的力度很大。这件事是一个系统的工程,大家一块块的去做,前端做好了,后面自然而然的就要去接,中间做好了,后端的也就顺其自然的开始做。”
之前网上的一篇博文《去IOE:去掉“IE”就Ok?》指出,硬件:去“IE”利人利己;去留Oracle 各有理由,量力而行。淘宝又是如何判断O的去留呢?
对于淘宝来说在业务系统搭建之初,整个阿里集团有98%以上的软件系统和业务都采用Oracle数据库提供数据服务。褚霸针对这个问题告诉记者,Oracle数据库性能很稳定,不过他需要小型机与EMC存储这种高性能硬件做搭载。但是对于淘宝来讲,去掉Oracle数据库的原因还是因为数据库本身已经不能满足业务需求,这才是替换它的根本。
内部团队之间的协同工作
不论企业在进行何等策略性改变的时候,相关的准备工作需要进行认真的考虑,尤其是在各个部门之间的协调。褚霸告诉记者:“我来淘宝就一直带数据库团队,我们这个组实际上就是维护整个集团的MySQL数据库,提高它的性能以及在集群上的可用性。但是大家也可以在一些开源项目中看到核心数据库组做出的贡献,比如TFS分布式文件系统。”
谈到TFS,褚霸接着说:“TFS是我们其他组的项目,但是数据库与底层系统是相通的嘛,过去我们花了很多时间去研究I/O、设备以及文件系统等等,内核组也做了很多文件系统的优化。组与组织间会相互之间影响,看起来组与组之间是扁平的,但是实际上相互之间还是有很多联系的。”在去IOE计划实施之初,整个集团内部的团队之间也是进行协同工作,项目进展到哪一步,哪一个组就要及时完成自己负责的那部分。
整个阿里巴巴集团进行去IOE运动是为了提高业务的可扩展性,并且构建符合自身业务需求的定制化服务。对于大多数企业来说,构建符合自身业务需求的服务才是最终根本。
【编辑推荐】