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

谢邀。我分享下他们MySQL运维优化的逻辑,大家可以借鉴参考一下。本质上讲,他们用的是修改后的MySQL,不是原生MySQL。Facebook创办以来就一直在使用MySQL数据库,也随着数据量的增大而不断改进他们的自有MySQL,目前已经可以轻松支撑来自20多亿用户的数据量。

所以Facebook优化MySQL的经验我觉得有很多借鉴学习之处,有相关数据库经验也可以在评论区讨论探讨,互相学习学习。

1.每台机器都使用多实例的模型,每个机器放多个实例,每个实例放多个DB,多实例之间没有资源隔离,充分发挥实例间的最大性能。

2.将大部分核心业务引擎切换到MyRocks,不改变服务器配置大概可以节省一半服务器资源。

3.主从结构采用基于GTID的一主多从结构,外加一个基于lossless semi-sync机制的mysqlbinlog实现的binlog server。

4.所有的备份都是基于mysqldump实现,可以无需备份索引,只备份数据,而且备份文件压缩比高,更节省磁盘空间,通过改进了的mysqldump,备份过程中还可以进行额外压缩。当然备份时也会控制并行备份的数量,避免影响在线业务性能。

5.快速部署从库可使用xtrabackup在现有存活的SLAVE实例上备份,也可在主库上发起备份,再利用WDT(或者是BT)协议传输到异地,用于拉起从库。

总而言之,Facebook在优化MySQL方面做了很多努力,也提交了很多优秀的Innodb插件来大大提高了MySQL主从集群的性能。而且有传闻称,Facebook拥有大约1800台MySQL服务器,内部却只有三名数据库管理员(DBA)。这有点匪夷所思,不过也侧面说明Facebook确实在MySQL优化方面有着非常不错的效果。


如果你对学习人工智能和科技新闻感兴趣,欢迎订阅我的头条号。我会在这里发布所有与科技、科学以及机器学习有关的有趣文章。偶尔也回答有趣的问题,有问题可随时在评论区回复和讨论,看到即回。

(码字不易,若文章对你帮助可点赞支持~)

(0)

相关推荐

  • MySQL主从复制的实现过程

    一.什么是主从复制 将主数据库中的DDL和DML操作通过二进制日志传输到从数据库上,然后将这些日志重新执行(重做):从而使得从数据库的数据与主数据库保持一致. 基本原理: MySQL支持单向.异步复制 ...

  • 备份恢复,DBA最后一道防线,你完全掌握了吗?

    墨墨导读:备份恢复是DBA最后一道防线.最近项目碰到备份恢复的相关的事项,结合自己的经验,巩固一下知识. 怎样理解备份恢复 MySQL使用环境中,基本都会搭建高可用架构最基本的主从,当主库发生故障导致 ...

  • 苹果、亚马逊、微软、Facebook 比 90% 的国家还富裕

    一些企业组织规模如此庞大.利润如此丰厚,以至于超过了全球多个国家的 GDP. 根据<财富>杂志数据显示,2020年按收入计算的十大公司是苹果.三星.富士康.Alphabet.微软.华为.戴 ...

  • UC头条:MySQL数据库定时备份到其他电脑

    最近我的一个学弟问了我一个问题,说他要实现一个功能,他老师给他提出来一个问题,让他的项目实现定时备份数据库到其他电脑,确保安全.他就来问我,还好我之前弄过,虽然我是干前端的,哈哈哈,之前学的比较杂. ...

  • 【竺】数据库笔记7——Mysql数据库备份

    *. mysql -u username -p password: 这个命令用于输入用户名和密码登陆mysql服务器: *.show databases;:用于查看mysql服务器中的数据库情况(会罗 ...

  • MySQL数据库有哪些优势特点?Linux数据库

    为什么众多企业都选择MySQL数据库?目前,绝大多数使用Linux操作系统的互联网企业都使用MySQL作为后端的数据库.MySQL是互联网领域里非常重要的.深受广大用户欢迎的一款开源关系型数据库软件. ...

  • Power BI连不上MySQL数据库?怎么破?

    - 1 -  直连的问题及解决办法 今天要连一个别人管理的MySQL数据库抽取数据,本来想着是个很简单的事儿,因为Power BI本身就提供了MySQL的连接器: 然鹅,当我很开心地去点"连 ...

  • win10专业版能安装上mysql数据库么

    提问win10专业版能安装上mysql数据库么?如果能,能不能给个安装步骤? 网上百度的各种方法都试过了装不上,请看清楚是win10专业版 1.同时按下键盘组合键Win+i,打开设置窗口,点击&quo ...

  • 数据库约束有什么作用?Linux运维MySQL数据库

    数据库是存储数据的仓库,由数据库表组成.数据库本质是一个文件系统,数据库以特定的格式存储数据,用户可以添加.修改.删除和查询数据库中的数据.对于运维工作者或者数据库工作者来说,数据库约束是学习数据库相 ...

  • MySQL数据库是什么?Linux数据库运维

    Mysq|是目前流行的关系型数据库管理系统.MySQL是WEB应用中较好的应用软件之一.数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,对于互联网发展起着重要的作用.现 ...

  • jmeter压测学习18-JDBC配置连接mysql数据库

    前言 使用jmeter压测接口的时候,有时候需要批量造数据,需使用jmeter连数据库造对应的测试数据. 或者测试结束后,对测试的数据还原,删掉一些垃圾数据,都会用到连接数据库执行sql的操作. JD ...