既然有了开源的数据库,阿里巴巴和蚂蚁金服还要做这么一个商业数据库产品,其实这里面是有本质原因的。很多人知道阿里巴巴今天已经 全面去 IOE:去掉了 Oracle 数据库、IBM 小型机、 EMC 存储。那么很多人就在想,能不能在其他的行业,在铁路、交通,电信、政府这些行业推而广之,全部完成去 O 的进程呢?这个答案是否定的。
因为像阿里巴巴发展的这一套系统是基于 MySQL 的开源数据库,跟商业数据库在功能和性能上其实是有很大差距的。阿里巴巴当时在用它的时候,有很多事情数据库是做不了的,那么这些做不了的事情当时就放在应用软件里做。所以阿里巴巴在数据库和应用软件上都投入了很大的技术力量。这套系统拿到外部业务去用是不能彻底解决问题的。本质上这套系统是服务于阿里巴巴的专用系统,而不是一个通用的系统。
另外一件事是成本,什么东西最便宜,量最大最主流的东西最便宜,它就是 PC 服务器。小型机少则几十万,多则几百万,PC 服务器顶多就是几千几万块的成本。
第三个要解决的就是可靠性问题。大家对数据库的期望是永不宕机,永远不出问题。可是 PC 服务器到处都有,性价比也非常好,但是不容忽视的是它的故障率高。普通 PC 服务器它远远达不到数据库所要求的年可靠性五个九的要求。对普通 PC 服务器而言,差的可能是两个或者三个数量级,所以我们得首先把这个问题解决掉。我们用的就是分布式的办法来解决。