Facebook 用户量十分庞大,为什么还使用 MySQL 数据库?

关注者
1,965
被浏览
369,823
收录于 编辑推荐 ·
首先需要承认,Oracle目前还是最先进的关系数据库,其传统使用方法:存储使用EMC阵列(容量大,数据安全),IBM服务器,即IOE组合,这三个组合很强大(高可用,高性能),但是也高价格(二楼介绍了,百万级别),如果数据量不大,这种单机(通常会配置一套异地备库用于容灾)解决方案是可以支撑起大多数传统企业的业务的

Facebook是一个有10亿用户的互联网公司,拥有海量数据,而且增长很快,单机数据库完全无法满足这种需求,这时需要对数据进行分片,存储到多个数据库节点中,这个时候如果使用IOE作为其中一个节点,肯定可以保证很好的性能,但是成本就非常非常非常高了,要知道,Facebook的数据库服务器有成千上万台。。。

这时MySQL的优势就显示出来了:1:)省去了巨额license费用;2)MySQL代码开源,可以根据业务特点定制和优化;3)将MySQL运行在普通PC上,硬件费用大大降低

另外,使用开源的方案可以避免对Oracle过度依赖,当你只有一个选择时,对方可以随便要价

总结起来:
1)省钱,如果Oracle价格便宜,作为分布式节点当然可以提供比MySQL更好的性能,但这不可能
2)扩展性,MySQL源码可见,全球很多开发者帮助优化,可以出钱请专业团队定制功能(如percona,mariadb公司),且不受Oracle公司控制,发展空间更大