文章出自:http://www.mysqlops.com/2012/03/29/oracle-dba-taobao-alibaba.html
【导读】
预计2012年5月7日,阿里巴巴集团将正式公布技术团队合并的事情,涉及的部门:阿里巴巴运维团队、阿里巴巴DBA团队、阿里巴巴平台技术部、大淘宝运维团队、大淘宝DBA团队、大淘 宝核心系统部、阿里云计算运维团队、阿里云计算DBA团队和阿里巴巴集团安全团队,从一些可以猜测到的信息分析,上述技术团队合并之后,大淘宝的员工将成为相关技术团队的掌舵者。去IOE政治运动是阿里巴巴集团首席架构师某博士主导的,阿里巴巴和淘宝的技术团队内部非常有影响力的XX负责执行,合并之后阿里巴巴集团内部所有子公司去IOE运动,将继续深化。个人就淘宝、阿里巴巴和支付宝去IOE事件,以局外人的角度进行利弊分析,希望能达到给明白真相和不明白真相 群众,一个合情合理中立的分析。
淘宝和阿里巴巴去Oracle化事件 引发数据库技术人员大讨论一 文,只是把对阿里巴巴、淘宝等子公司内部非常熟悉的人士观点和建议分别整理出来,以及还有部分外部人士的猜测和分析,本篇文章我们从几个不同的角度综合分 析阐述去IOE事件对阿里巴巴、淘宝等公司的内部DBA团队价值和意义,对阿里巴巴、淘宝等公司的业务和成本影响,对互联网行业的DBA从业者的影响…
(一) 去IOE事件中的IOE名词解释
(1).IOE事件中的I是代表IBM的缩写,也即去IBM的存储设备和小型机,主要是小型机,阿里巴巴、淘宝和支付宝主要是使用了IBM的小型机,IBM存储设备相对较少;
(2).IOE 事件中的O是代表Oracle的缩写,也即去处Oracle数据库,采用MySQL和Hadoop替代的解决方案,Oracle RAC将会被Hadoop集群替代,其阿里巴巴B2B使用的GreenPlum集群,也将会在阿里巴巴集团完成运维团队和DBA团队合并之后,采用 Hadoop集群解决方案替代;
(3).IOE事件中的E是代表EMC2,阿里巴巴B2B、淘宝和支付宝都是用大量EMC2的存储设备,也有少量DELL的存储设备,主要是EMC2,的存储设备性价比高;
(4).阿里巴巴集团内部最早进行MySQL数据库替代Oracle数据库支持数据服务的子公司,是阿里巴巴B2B用PC Server替代EMC2,存储设备,替代IBM小型机。不过替换节凑是被合理控制的,因多方面的原因内部也没有那么雄壮的决心。后来,淘宝也开始进行MySQL数据库的应用摸索和推广,并且高调宣传去IOE事件,最后造成网络上满城风雨;
(二) 去IOE对淘宝、阿里巴巴B2B和支付宝等公司的价值
阿里巴巴集团与甲骨文公司购买的Oracle数据库是三年无限制性的License,总销价是三年X千万人民币(备注:不能告诉大家具体多少钱,属于商业机密, 望理解!),这部分的开销对整个阿里巴巴集团而言并不算什么,花费最大地方是Oracle数据库的座驾,也即主要是IBM小型机和EMC2,存储设备的购买费用和保修费用。
随着淘宝、支付宝和阿里巴巴B2B的注册用户数激增,用户产生的数据也越来越多,即使采用冷热隔离的方式也解决不了大容量数据且大并发的难题,淘宝启用了全 亚洲最大的Oracle RAC集群,阿里巴巴B2B中文站的数据量也因数据量大和业务要求,每年早上08:00—09:30之间CPU保持98%的使用率,LOAD也超高,即使 更换存储设备不久也会再次出现这样的状况。互联网行业公司迅速发展非常快,集中式数据库系统会逐渐成为业务的瓶颈,不得不面临又喜又忧的事情花费重金升级 硬件,这在企业高速崛起的时候,可能不太会在意成本,若是企业占有市场份额足够大、步入平稳发展阶段或企业资金出现问题的时候,就不得不考虑企业的成本, 那么就不得不考虑采用满足企业业务发展需求,企业只需要合理地投入资金,就不得不考虑更加省钱的数据库软硬件解决方案。
大淘宝、阿里巴巴B2B和支付宝等公司,98%以上的软件系统和业务都是采用Oracle数据库提供数据服务,电子商务领域阿里巴巴集团旗下公司拥有的总数 据量和用户量是其他任何公司无法比喻的,DBA团队面临的压力盒挑战也是其他公司无法比喻的,肯定要比联网其他公司更早关注此方面的资金需求和业务双重压 力。
阿里巴巴集团使用License最多的子公司是大淘宝,2010年及之前,还高调地要部署更多的Oracle RAC数据库集群,但是在阿里巴巴B2B将中文站压力和数据容量最大的Offer数据库,成功从Oracle数据库+IBM小型机+EMC2,存 储设备,迁移到MySQL数据库+PC Server的模式,以及大淘宝核心系统部门招聘到@淘宝褚霸、@淘宝丁奇等能修改MySQL源码和Hbase源码,其他产品线使用MySQL数据库提供 服务,也使大淘宝的MySQL DBA的经验和技术大幅提高,大淘宝也就有能力把产品线的Oracle数据库迁移到MySQL数据库提供服务,采用Oracle数据库支持的数据分析业务 则采用Hadoop集群替代,这是给核心系统部和DBA团队建功立业的大好时机,同时能解决大淘宝业务系统的压力和瓶颈,也能帮助大淘宝降低资金投入。搭配开发完善的自动化系统,可以大大简化数据库的管理成本,也能减少DBA团队的工作量。
阿里巴巴、淘宝和支付宝都曾尝试,将Oracle数据库的座驾AIX系统+ IBM小型机+EMC2, 迁移到Linux系统+PC Server的模式。若是对Oracle数据库不拆分的话,PC Server根本无法承受这样的负载;若是对Oracle数据库拆分,将需要增加购买大量的License;故不得不考虑将业务系统的Oracle数据库 迁移到开源MySQL数据库和Hadoop平台上(注释:这2种开源产品能满足业务需求,以及相对其他开源产品更稳定和成熟)。
非常遗憾的是,阿里巴巴集团首席架构师王坚推行的是全面去商业数据库产品计划,也即整个阿里巴巴集团,可能除支付宝少数业务的数据库继续采用Oracle数 据库之外,其他的一切都将转换成MySQL数据库,为此可能导致阿里巴巴DBA团队、大淘宝DBA团队、支付宝DBA团队等,在Oracle数据库领域积 攒十年的架构设计和运维维护经验,将瞬间付之东流,同时这些DBA团队的Oracle DBA也将会有不少人员选择离开,否则只能转行为MySQL DBA。
大淘宝DBA团队、阿里巴巴DBA团队、支付宝DBA团队和阿里云计算DBA团队总共拥有的MySQL DBA人数,不会超过15人,而Oracle DBA有80人以上,其中MySQL DBA团队真正能干活的DBA不会超过X个人,MySQL数据库在阿里巴巴真正支持业务发展的时间不超过3年(注释:淘 宝成立初期采用MySQL数据库,能力的问题而不得不迁移到Oracle数据库平台;阿里巴巴B2B在2009年之前,也是少数边缘业务从Oracle数 据库迁移到MySQL数据库平台)。多数是Oracle DBA转行为MySQL DBA的兄弟,他们在Oracle数据库方面确实经验丰富和能力超强,但是MySQL数据库方面就不多加评论…
小结:
一 直为MySQL社区的发展与壮大而努力,作为技术人员要说真话和大实话,不能因个人感情而做事情。个人认为阿里巴巴集团去IOE是不得不要做的事情,但不 是把所有的Oracle数据库都迁移到MySQL数据库或Hadoop平台,而应该是对业务系统有选择地进行,以及迁移的步调要合理地控制,不宜过快过 急,需要等待MySQL数据库DBA团队的壮大,技术与经验的积累。否则,可能出现迁移过去之后不久,发现对业务发展和支持出现严重的问题,大淘宝内部的 信息分析,他们已经基本度过危险的阶段,也有很多遇难杂症,但是支付宝的业务具有特殊性,要比淘宝的业务系统要求更高,恐怕是一个非常大的障碍。
阿里巴巴集团高调向外界传递去Oracle数据库信息之后,新的Oracle数据库License谈判将会很变得艰难,甲骨文公司本来是把把阿里巴巴、淘宝和支付宝等公司作为中国标杆用户宣传,现在公开大规模地去Oracle数据库,可能会得到甲骨文公司的报复,为此可能要偿付更加昂贵的License费用。对于阿里巴巴价值观“拥抱变化”,是无处不体现,但是要合理地使用,不要被某些人利用搞成政治运动,而影响企业的稳定与发展。
(三) 去IOE对淘宝、阿里巴巴B2B和支付宝等公司的DBA团队影响
大淘宝是去IOE最迅速最彻底的公司,相关技术人员也将会得到更多的晋升和加薪机会,阿里巴巴B2B DBA团队很早进行的部分业务系统去IOE,使得相关人员受益(注释:也包过我个人,阿里巴巴B2B对MySQL DBA的渴望而有机会加盟,机缘巧合是MySQL数据库成功使用之后离开了),而支付宝是去IOE进展最慢的公司,为此高层不得不选择派遣相关人员,加速支付宝公司去IOE。
阿里巴巴集团最后可能保留少数业务产品线,继续使用Oracle数据库平台提供数据服务,以及MySQL数据库的自动化完成之后,将导致阿里巴巴集团DBA 团队出现资源严重富余,Oracle数据库迁移MySQL数据库过程与完成之后,将会出现DBA人员的流失,这对阿里巴巴集权的DBA团队而言是一种损 失,往往选择离开的Oracle DBA,越是优秀和有成长潜力的,可能早就更多DBA人员处于混日子的状态。
去IOE事件对MySQL 团 队和核心系统部门的发展,是非常有利和促进作用。越来越多的业务系统和核心系统,采用MySQL数据库提供数据服务,MySQL DBA面临的挑战与压力将会越来越大,DBA团队的自动化水平能力也将会迅速得到提高,否则无法管理规模庞大的MySQL数据库集群和Hadoop集群。
整 个阿里巴巴集团能读懂、编写和优化MySQL源码的DBA或开发人员,总数不会超过X个人,这对阿里巴巴集团去IOE也是一项挑战,毕竟开源数据库产品没 有商业数据库产品那样经过严格的测试流程而稳定,购买甲骨文官方提供的MySQL服务,绝对不是淘宝、阿里巴巴和支付宝DBA团队的行事风格,一定会想办 法自己修改和优化MySQL源码,相信阿里巴巴集团会投入更多的资源引进相关的技术人才,这对MySQL团队的技术提高也非常有帮助。
小结:
(1).Oracle团队的经验和技术积累将大量丢弃;
(2).Oracle团队的DBA流失不可避免;
(3).MySQL团队的DBA经验、技术和能力,将被迫加鞭快马提高;
(四) 去IOE对数据库行业的影响
淘宝去IOE事件网络曝光之后,引起更多Oracle数据库DBA从业人员的恐慌,使他们最担忧的是互联网行业的其他公司效仿淘宝和阿里巴巴去Oracle数据库的壮举,而出现蝴蝶效应。
对甲骨文公司而言,不会失去一位非常重要的中国客户,只是可能失去部分License费用收入而已。毕竟阿里巴巴集团旗下的支付宝某些业务系统肯定会用Oracle数据库平台,至少阿里巴巴B2B的CRM系统短期内不得不考虑继续使用Oracle数据库平台(注释:CRM系统太复杂,也很难有人搞清楚)。
淘宝、阿里巴巴和支付宝公司用MySQL数据库和Hadoop分布式平台,替换Oracle数据库和Greenplum并行数据库的行为,不可避免会影响互 联网行业企业的数据库平台选型,也会导致Oracle数据库行业的从业者担忧。唯一办法,就是澄清这些事情的来龙去脉,使不明真相的群众懂得去分析类似的 事情,而不跟风做错误的决定,不过互联网行业采用开源数据库的大趋势是必然的,互联网行业采用开源技术解决方案也是必然发展趋势。
淘宝、 阿 里巴巴B2B和支付宝用MySQL数据库支持核心业务系统,其中阿里巴巴B2B已经使用MySQL数据库支持中文站Offer数据库,淘宝的核心业务之一 订单都是MySQL数据库提供数据服务,必将将会促使更多企业使用MySQL数据库,从而会促进MySQL数据库领域的从业者发展和薪资待遇的提高,对 MySQL社区和MySQL技术的进步也会有一定的促进作用。
MySQL数据库搭配PC Server和Linux操作系统的模式,以及再加上一些特殊的软件硬件技术–SSD硬盘和Fusion-IO, 尤其是经过淘宝、阿里巴巴B2B和支付宝等业务的洗礼之后,使MySQL数据库的解决方案丰富和成熟, 也会促使DELL、华为、惠普(注释:不过这家企业的硬件设备实在是太差,尤其售后服务)等公司大力发展PC Server业务。也会推动IBM、EMC等存储设备厂商进行技术革新,最后也会推动甲骨文公司和MySQL社区共同推动MySQL数据库产品支持更大的 数据存储容量和并发处理能力。
(五) 总结
淘宝、阿里巴巴B2B和支付宝等公司去Oracle数据库,改用MySQL数据库和Hadoop分布式平台支持数据服务业务的分析和总结,就写到此了。希望 个人写的本篇文章,对技术圈的朋友们有帮助,同时也做到了独立性和公正性透彻地分析去IOE运动。作为一位MySQL数据库技术的从业者,要感谢淘宝高调 公布去IOE,采用MySQL数据库搭配PC Server的方式支撑大并发大数据量的核心业务,为互联网行业的MySQL从业者提供了参考模板,也希望其能继续完善MySQL数据库平台和 Hadoop分布式平台的自动化解决方案,也能继续对外开放。最后一点,希望阿里巴巴集权推进这样的事情,是能保持雄心和壮志,继续把适合采用MySQL 开源数据库和Hadoop分布式平台支持的业务迁移过来,请莫出现反复的行为。