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

尽管Facebook使用MySQL,但它们并不是一成不变的使用它代备案。 事实上,他们的团队已经提交了许多MySQL核心和Innodb插件的高性能增强。 他们的主要重点是增加性能计数器到Innodb。 其他更改集中在IO子系统上,包括以下新功能免费mysql:免费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就是一个数据库软件,顾名思义,他是将很多数据管理起来形成一个库,便于人们分析数据。最主要的功能就是实现数据的长时间记录,以便于人们能够按时段或者按照其他要求,查询分析数据。不论是做网站,还是手机APP开发,甚至室内的温度你要5秒钟采集一次并记录下来,都需要用到数据库。简单来说,我们做的网页,做的APP都是前端开发,是用户直接可见,需要登陆操作的,但是用户登录进去后,每天点击了什么,发表了什么,都需要后台数据库去记录,所以数据库更多的是后台工程师的事情。换言之,如果你要开发一个APP,招一个前端开发工程师,还要找一个后台数据库工程师才算人员齐备了。说的比较通俗,希望您能明白,谢谢!


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

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