比如,“去i”,技术架构是关键:
小型机作为it系统的主要计算设备承载了大部分的业务,但从扩展性、性价比、核心能力掌控等角度而言,不适宜集团目前业务发展。
而x86单个cpu处理能力一直在提升,应用了分布架构和云计算技术,可以用一个数据中心去替代某一台大机。
不过,应用采用分布式架构,提升处理能力,必须对应用代码进行改造。
所以,应用层可以直接替换成廉价的x86服务器,难点在涉及到部分代码重构;
数据层(易趣)也可以采用x86服务器或者是数据库云平台,分析型业务(百度)则主要迁移到大数据平台。
“去e”的主要难点,仅限于技术架构,对应用基本无影响。
但同时,“去e”也需要在存储性能、可靠性和容灾方面考虑对策。
实际上,“去i”和“去e”,在技术上难度和复杂程度都不算太大……
“去ioe”真正的难点和重点,
是“去o”!
因为数据库非常难被替换。
它处在整个产品或者产业链最底层的位置,替换风险很大,但收益相比起来却小得多。
这也是为什么像ibm、微软这样的后来者,也无法取代oracle。
而对于星河集团而言,“去o”的主要难点在于:
传统关系数据库都是通过外部硬件来保证可用性,在用便宜的pc机替换高端服务器之后,硬件更容易出故障了,如何保证数据库高可用?
高可用和数据一致性如何同时保证?
分布式系统怎么同时实现cap的要求?(cap指:一致性(consistency,c)、可用性(availability,a)、分区容错性(partitiontolerance,p))
几十年来,这么多做数据库的厂商,国内国外基本没有人成功过……
而且从公司的业务发展的角度,也不可能等你几年把数据库做出来,再去发展业务。
更可行的做法,是先基于开源做出一些东西,让业务先往前走。
所以,目前王坚为首的技术团队,采用的是数据切分(sharding)的策略。
将部分海量数据应用,先从集中式oracle切换到分布式mysql集群,从纵向扩展到水平扩展,解决了数据库扩展性的问题。
同时,目前百度研究院正在研发自有的分布式关系数据库——oceanbase。
这里不得不提到一个人,阳振坤博士。
这也是一位“超级大牛”:
84级帝大数学系,硕士师从本系的张恭庆院士,后又转向计算机领域,博士师从计算机系的王选院士。
大学只用了3年,硕士1年多,24岁成为王选院士博士……
95年其所在团队研究成果获国家科技进步一等奖(排名第四),1997年,32岁被破格晋升为教授、99年成为帝大首批“长江学者奖励计划”特聘教授。
他是跟随王坚博士,从微软亚洲研究院“跳槽”,来到百度研究院的十几名科学家之一。
目前担任百度研究院系统数据库项目组组长、高级技术专家(p9)。
阳振坤博士一直都是研究分布式技术和分布式系统的。
他十分看好云计算系统的发展机会,在加入百度研究院后,就主动请缨,开始担纲支持分布式关系数据库oceanbase的研发。
而王坚对于他的研发项目,也非常支持。