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

Python日志

共 1480字,需浏览 3分钟

 · 2021-03-14

土豆我来啦

上期我们简单的说了一些关于数据库的基础知识

本期我们来捋捋Mysql的优势





MySQL 作为是一种开放源代码的关系型数据库管理系统(RDBMS),任何人都可以在 GeneralPublic License的许可下下载且个性化优,另外,MySQL 的可靠性,速度以及它适应性强而受人欢迎。提供用于管理、检查、优化数据库操作的管理工具 用其来管理内容无疑是很好的选择,而且 MySQL 数据库系统使用最常用的为数据库管理语言--结构化查询语言(SQL)进行数据库管理。不仅如此,MySQL 其自身的特点也是它的加分项。它支持AIX、FreeBSD、Windows等多种操作系统。不仅能够作为一个单独的应用程序应用在客户端服务器网络环境中,还能够作为一个库而嵌入到其他的软件中提供多语言支持。



除了MY SQL还有商业数据,比如Oracle数据库,但是商用数据库价格非常的贵,比如官方报价一般25/CPU核,以及采购小型机一般80-120万/台,存储设备一般500万一套,但是Facebook现在有近万台的服务器,这是一笔极为庞大的资金。常规数据库的集中式数据库很难解决海量用户 MySL的分布式数据库正好适合;MYSQL可以定制化,更适应Facebook业务发展需要。oracle等无法定制,不能满足每个不同企业的定制化数据要求。所以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公司控制,发展空间更大



这次我们就先到这里啦

我们下期再见哦


需要数据库安装包+学习资料的可以加我微信领取哦






Python日志
一个认真搞知识的公众号

内容源自网络

浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报