mysql 高可用 3

来源:互联网 发布:python适合初学者的书 编辑:程序博客网 时间:2024/05/17 10:54
首先是版本选择
MySQL社区版,用户群体最大
MySQL企业版,收费
Percona Server版,新特性多
MariaDB版,国内用户不多


我的建议
MySQL社区版>Percona Server
>MariaDB>MySQL 企业版

不过现在如果大家使用RDS服务,基本还以社区版为主

Online DDL问题
原生MySQL执行DDL是需要锁表的,对服务影响很大,锁表期间业务是无法写数据的
MySQL在这方面支持的是比较差的,大表做DDL对DBA来说是很痛苦的,相信很多人经历过
如何做到Online DDL呢,是不是就无解了呢 当然不是


上面表格里提到的 Facebook OSC和5.6 OSC 也是目前两种比较靠谱的方案


MySQL 5.6的OSC 方案还是解决不了 DDL时候到从库延时的问题,所以现在建议使用Facebook OSC这种思路更优雅

下图是Facebook OSC的思路



后来Percona公司根据Facebbook OSC思路,用perl重写了一版,就是我们现在用的很多pt-online-schema-change,软件本身也非常成熟,支持目前主流版本。
优点
1.无阻塞写入
2.完善的条件检测和延时负载策略控制


不过值得一提的是,腾讯互娱的DBA在内部分支上也实现了Online DDL,之前测试过确实不错,速度快,原理是通过修改InnoDB存储格式来实现。

使用pt-online-schema-change限制
改表时间会比较长,相比直接alter table改表
修改的表需要有唯一键或主键
不要并发太多修改同一端口



0 0
原创粉丝点击