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

首先需要承认,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公司控制,发展空间更大

还有就是这我总结出了一些架构视频资料和互联网公司java程序员面试涉及到的绝大部分面试题和答案做成了文档和架构视频资料还有完整高清的java进阶架构学习思维导图免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。 资料领取方式:关注 私信关键字【资料】即可免费获取!!!

Facebook 用户量十分庞大,为什么还使用 MySQL 数据库?_第1张图片如果您喜欢本文章,可以点击关注,每天将有更多精彩文章与您分享!

你可能感兴趣的:(Facebook 用户量十分庞大,为什么还使用 MySQL 数据库?)