1. 概要

每台机器都使用多实例的模型。 每个机器放多个实例,每个实例放多个DB。

多实例之间没有进行资源隔离,这么做是让每个实例都能发挥最大性能。

目前大部分核心业务已切换成MyRocks引擎,在机器硬件配置不变的情况,约可节省一半机器。

放在MyRocks上的核心业务主要有:Feed、Post、社交图谱等读写混合业务。

MyRocks项目地址:https://github.com/facebook/mysql-5.6

另外,MariaDB 10.2版本也即将整合MyRocks引擎。

2. 高可用机制

采用基于GTID的一主多从结构,外加一个基于lossless semi-sync机制的mysqlbinlog实现的binlog server(可以理解为MySQL 5.7的loss zero replication)。

基于多数派实现自动选主。

基于配置中心实现切换,未使用VIP。

在认为semi-sync复制可保证主从数据一致性的假设前提下,发生故障切换时,利用上述的binlog server中的日志进行补全后再选新主、切换。

若个别情况下由于特殊原因,出现从库全部挂掉的情况,会将全部请求切到主库,由它扛起所有的业务服务压力。

某个从库挂掉时,可以动态摘除。

3. 备份机制

所有的备份都是基于mysqldump实现,之所以采用mysqldump逻辑备份好处有:

无需备份索引,只备份数据;

备份文件压缩比高,更节省磁盘空间;

改进了mysqldump,备份过程中还进行额外压缩;

上面提到,因为采用多实例、多DB结构,备份时可以多DB并行备份。当然了,也会控制并行备份的数量,避免影响在线业务性能。

备份放在集中存储(HDFS)上, 据说已达EB级别容量。

关于备份的作用定位:

供数据分析环境拉数据

供灾难恢复

4. 如何快速部署从库

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

关于WDT项目:https://github.com/facebook/wdt

5. 高度自动化

面对大规模的数据库实例,手工处理完全不现实。目前在facebook主要是利用Python开发内部DB运维平台,所以Python技能方面要求比较高。

采用他们自已的osc工具执行Online DDL(也是本次DTCC大会上lulu的分享主题),它最早用PHP开发,虽早已开源,但实在不好用,所以几乎只在内部使用。这个工具不同于pt-osc,相对来说更有优势,比如可以避免使用pt-osc最常遇到的主从数据延迟问题。

项目地址:https://github.com/facebookincubator/OnlineSchemaChange

6. 团队结构及技能树

DBA团队更多的是负责私有DB云平台的建设。

Schema设计及DB拆分等由性能优化团队负责。

在线表结构变更:数据库资源申请由质量服务团队负责,做到资源的合理分布、分配,如果某个业务只需要个位数级别的DB实例,可以自行在私有DB云平台中申请部署,当数量比较大时,需要先经过质量服务团队评估通过。

数据库资源申请由质量服务团队负责,做到资源的合理分布、分配。如果某个业务需要小量DB实例,可以自行在私有DB云平台中申请部署;当数量比较大时,需要先经过质量服务团队评估通过才可以。

mysql运维工程师_运维工程师需要了解的MySQL运维经验相关推荐

  1. python运维招聘_利用 Python 爬取了 13966 条运维招聘信息,看看你是否符合招聘信息!...

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进阶者 ( 想要学习Python?Pyth ...

  2. idc机房运维巡检_赋能国产信创 建设IT智能监控运维体系

    原标题:赋能国产信创 建设IT智能监控运维体系 作为信创领域深耕多年的企业,北京智和信通技术有限公司始终坚持研发自主知识产权的IT智能运维监控大数据分析系统--智和网管平台SugarNMS,积极探索A ...

  3. 系统集成项目管理工程师_系统集成项目管理工程师,最热门的入户软考专业!...

    什么是系统集成项目管理工程师? 系统集成项目管理工程师,是全国计算机技术与软件专业技术资格考试项目之一,是由国家人力资源和社会保障部.工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职 ...

  4. 换系统后mysql环境不见了_电脑重装系统后如何恢复Mysql数据库

    然后,在Path的变量值添加;%Mysql%\bin; ,如图: 二.[测试] Win+R,输入cmd,弹出命令行窗口,输入mysql admin –V,若出现如下信息,说明配置环境变量成功! 三.[ ...

  5. 远程mysql用ssh连接_使用SSH密钥连接到远程MySQL服务器

    远程mysql用ssh连接 In this article, it will be described how to connect to remote MySQL Server on Linux O ...

  6. mysql socket错误处理_解决Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误...

    晚上清理mysql日志,强制重启了下mysql,然后mysql就登陆不上了... 以下方法来自网络,可以使用,已试. 刚安装完mysql,进行运行测试,报Can't connect to local ...

  7. mysql系统数据库 恢复_电脑重装系统后如何恢复 Mysql 数据库

    电脑重装系统后如何恢复 Mysql 数据库 一.[设置mysql的path] 比如:我的mysql在:D:\DataBase\mysql-5.7.13-winx64,可以在环境变量中重新新建一个环境变 ...

  8. java运维招聘_【蚂蚁金服】java、运维、测试-内推

    团队介绍: 与经验丰富的工程师和技术团队一起,负责蚂蚁集团高可用,资金安全架构相关的研发工作,工作包括资金安全.稳定性.容量.故障自愈.AI Ops等方向,构建各种高可用平台系统解决核心业务的金融级稳 ...

  9. 前端工程师 后段工程师_如何像工程师一样思考

    前端工程师 后段工程师 In my time in the tech field, I have learned that it really doesn't matter what tools or ...

  10. cad图形如何导入到奥维地图_将设计线路CAD图导入到奥维互动地图的方法

    将设计线路CAD图导入到奥维互动地图的方法 概要:奥维互动地图是第三方地图浏览器做的非常不错的软件,同时支持多种知名地图,三维地图,地理规划,位置与轨迹分享等,可以同时在电脑端和手机上浏览,在电脑端将 ...

最新文章

  1. js 使用 Lawnchair 存储 json 对象到本地
  2. 解决电脑重启后 ubuntu 不能联网
  3. python开发需要掌握哪些知识-Python的10个基础知识点,新手必须背下来!
  4. a href=#与 a href=javascript:void(0) 的区别 打开新窗口链接的几种办法
  5. java中的serializable_java中的Serializable接口的作用
  6. python3发布时间_Python3优雅操作-时间处理与定时任务
  7. 麦肯锡70页特辑报告论述《人工智能的未来之路》(完整版PPT)
  8. 男子花41万买手镯,被店员议论“买不起” 气到要住院
  9. python编译环境对cpu要求高不高_解决Tensorflow 使用时cpu编译不支持警告的问题
  10. DOCKER功能练习
  11. win10计算机错误代码,Win10错误代码:0xc00000f 解决方案
  12. 有人羡慕过自由职业吗?
  13. 浙大首届人工智能本科生9月入学,纳入竺院图灵班
  14. 深度学习自学(七):腾讯移动端开源框架ncnn学习总结
  15. 计算机学院实验报告 课程名称 .NET程序设计 实验名称 实验四 CSS+DIV网页布局与样式
  16. html消除样式,清除css样式
  17. C Primer Plus 第四章 复习题编程练习 答案
  18. 测试用例管理工具有哪些?
  19. 电商屌丝生活,有点甜、有点咸
  20. BeyondCompare4破解最佳实践

热门文章

  1. android仿微信图片上传进度,Android开发之模仿微信打开网页的进度条效果(高仿)...
  2. 解决电脑可以上网却连不上局域网服务器问题
  3. wps在线编辑梳理(此处整理了对接过后容易出错的地方)
  4. 计算机的操作系统属于什么系统,操作系统是计算机系统中的什么?
  5. 快速删除node_modules目录的方法:指令rimraf
  6. python Numpy 中的矩阵向量乘法(np.multiply()、np.dot()、np.matmul() 和 星号(*)、@)
  7. matlab 定义一个cell,未定义与 'cell' 类型的输入参数相对应的函数 'min'。
  8. jqGrid----下拉列表框下拉联动,dataEvents回调函数。
  9. 每日总结-05-23
  10. Map嵌套Map遍历