阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL运维经验

31次阅读
没有评论

共计 1425 个字符,预计需要花费 4 分钟才能阅读完成。

MySQL 运维经验

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 云平台中申请部署;当数量比较大时,需要先经过质量服务团队评估通过才可以。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2025-04-14发表,共计1425字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中