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

尽管Facebook使用MySQL,但它们并不是一成不变的使用它免费mysql数据库。 事实上,他们的团队已经提交了许多MySQL核心和Innodb插件的高性能增强。 他们的主要重点是增加性能计数器到Innodb。 其他更改集中在IO子系统上,包括以下新功能代备案:免费mysql数据库,Facebook用户量十分庞大,为什么还使用MySQL数据库1 innodb_io_capacity:设置服务器的IO容量以确定后台IO的速率限制2 innodb_read_io_threads, innodb_write_io_threads:设置后台IO线程3 innodb_max_merged_io:设置可能合并到一个大IO请求中的相邻IO请求的最大数量Facebook使用MySQL作为键值存储,其中数据随机分布在一大组逻辑实例中。 这些逻辑实例分散在物理节点之间,负载均衡在物理节点级完成。 Facebook已经开发了一个分区方案,其中全局ID被分配给所有的用户数据。 他们也有一个自定义的归档方案,它基于每个用户的频繁和最近的数据。 大部分数据是随机分布的。 令人惊讶的是,据传Facebook有1800个MySQL服务器,但只有3个全职DBAFacebook主要将MySQL用于结构化数据存储,例如墙贴,用户信息等。这些数据在各个数据中心之间复制。 对于blob存储(照片,视频等),Facebook使用一个自定义的解决方案,涉及外部的CDN和内部的NFS同样重要的是,Facebook大量使用Memcache,这是一种内存缓存系统,通过在RAM中缓存数据和对象来加速动态数据库驱动的网站,以减少阅读时间。 Memcache是Facebook的主要缓存形式,大大减少了数据库的负载。 拥有一个缓存系统可以使Facebook的速度与调用数据一样快。 如果不需要访问数据库,则只需根据用户标识从缓存中获取数据所以,“Facebook使用什么数据库”似乎是一个简单的问题,你可以看到他们已经添加了各种其他系统,使其真正的具有网络可扩展性。 但是,仍然可以自由地使用这样一个观点:“MySQL和Oracle或者MS SQL Server一样好或者更好,因为就算只有Facebook使用它,它也有5亿用户!”放在很久以前,MySQL是很少受待见的,而现在MySQL越来越受到重视,包括银行在内的一些系统也会采用MySQL。为什么国内绝大多数互联网公司使用的数据库都是MySQL呢?主要原因可以归结为以下这几类:1、LNMP架构模式的推动Linux Nginx MySQL PHP这种架构选型在中小型互联网公司使用是最多的,也是最主流的。像淘宝早期也是这种技术选型。因为PHP MySQL是“黄金搭档”,加上PHP开源框架太多,市场占有率很高,所以也催生了MySQL的发展。2、大型公司去IOE化的推动:在以前,一般的不差钱的大型企业在信息化这块的选型较多的就是IOE(IBM小型机AIX系统 Oracle数据库 EMC存储),因为IOE能支撑庞大的业务、很稳定、说出去也是高大尚的。但是IOE不是一般中小型企业能承担的,IOE的投入巨大。所以在前几年国内不少大型互联网企业称要去IOE化,2013年5月阿里巴巴最后一台IBM小型机下线,2013年07月淘宝广告系统使用的Oracle数据库下线,都是阿里巴巴在去IOE化路上的重要里程碑。为什么要去IOE呢?IOE的架构模式都是利用小型机和高端存储设备来提供高性能的处理与存储服务,这种架构是集中式的架构(比如将所有的数据集中在一个数据库中),当性能不足时,就通过增加硬件(CPU/内存/磁盘)的方式来提高处理能力,而这种集中式架构不适应当下的大数据需求了。去IOE的重要实施方案中有一点就是将集中式的Oracle换为分布式的MySQL集群,MySQL可以通过水平扩展来解决性能问题。3、开源免费较Oracle、SQL Server而言,MySQL是开源免费的(虽然MySQL被Oracle了),不像Oracle和SQL Server是需要商业付费的,而且价格昂贵。以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,欢迎关注我了解更多科技知识!本人推荐从mysql入手学习。数据库的语法结构和使用其实很相似,就像编程,会了一个学习另一个很容易,因为他们大同小异,互相借鉴,原理想通。那么既然是想通的,为什么推荐用mysql呢?1.mysql体积小,环境安装更方便。而SQLserver安装包比较大,安装麻烦。可以看到SQLserver2016的安装包2.28G,不光安装包大,安装起来的步骤也非常费劲,还容易出错,而mysql安装就简单多了。环境配置是必不可少的配置,总不能说我会用这个,但是环境我不会配置吧。2.可能有人说SQLserver可以可视化管理,鼠标点点就行,mysql也可以,并且非常方便,你直接安装appserv,这个集合包也就100多M,里边包含了apache、mysql和phpmyadmin。什么环境就都有了,直接打开127.0.0.1/phpmyadmin就能用界面管理。对于新手也是非常友好的。3.mysql是开源的,你可以根据自己需求更改mysql源代码,关键是免费。而SQLserver价格不菲(经网友补充,SQLserver express版本免费),当然,破解工具一抓一大把,但是哪个公司如果敢用盗版,是很容易吃官司的。4.mysql跨平台,支持Linux和windows,并且mysql和很多网站和应用都配合的非常好,而SQLserver只支持windows(补充:网友反馈,经查证现在也支持linux了),而且有和asp.net这些配合才能发挥优势。5.对于小型公司来说,SQLserver可能也是个不错的选择,但是目前我所了解的即使是小型公司,目前也是用mysql的多,现在网站用asp.net的太少了。大部分中小型公司都用了PHP,所谓LAMP就是指的Linux、Apache、Mysql、PHP,他们配合的很完美。6.其实基本语法很相似,操作也很相似,会一个再学另一个非常容易。其实数据库难点和重点根本不在操作,而是设计数据库,设计数据的时候不需要动手写语句做表什么的,也就是对于刚入门的来说,用哪个库无关紧要,先把设计数据库的方法和理念搞明白最重要。说了那么多,SQLserver一点优势都没有吗?当然不是,它最大的优势就是教程资料多,你能随手一翻找到很多SQLserver的系列教程和书籍,而mysql相比较而言就少的多。希望对你有帮助,有不对的地方还望大家指正,不全面的地方还望补充。


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/21756/