《专场4.5-基于MySQL的分布式数据库高可用实践-王斌.pdf》由会员分享,可在线阅读,更多相关《专场4.5-基于MySQL的分布式数据库高可用实践-王斌.pdf(35页珍藏版)》请在三个皮匠报告上搜索。
1、基于MySQL的分布式数据库高可用实践王斌什么是基于MySQL的分布式数据库?基于MySQL的分布式数据库的限定条件兼容MySQL语法和行为采用sharednothing架构可扩展基于MySQL做计算和存储高可靠事务满足ACID特性123456基于MySQL做分布式数据库,有什么优点?生态环境好易使用,学习成本低开发成本低支持用户更多复杂特性基于MySQL做分布式数据库的优点基于MySQL做分布式数据库,有什么缺点?基于MySQL做分布式数据库的缺点基于MySQL做分布式数据库的缺点部分不适合分布式处理效率低下走存储引擎接口执行计划没有考虑网络MySQL并不是为高并发设计的计算和存储元数据不一
2、致性懂MySQL内部运行机制需要迎合MySQL口味基于MySQL做分布式数据库,最大的困难是什么?分布式事务二阶段提交协议仅利用二阶段提交协议存在的潜在问题节点1事务提交,而节点2相应的还没提交,怎么保证数据一致性?如果协调者挂了,怎么办?备份的时候,如何找到一致性备份点?如果执行者挂了,怎么办?二阶段提交协议只满足ACID中的原子性故障恢复分布式并发控制基于MySQL的分布式事务主要内容分布式并发控制常见技术两阶段锁多版本MVCC基于timestamps的调度算法OCC(例如认证数据库)全局事务管理器(GTM)分配唯一全局事务ID控制数据可见性实现隔离级别全局死锁检测超时构建全局等待图故障恢
3、复故障恢复备份和恢复一致性备份点binlog server在线恢复分布式事务恢复协调者高可用接管的协调者recover线程资源管理器高可用协调者recover线程节点高可用切换主节点快速切主MySQL如何做高可用?基于MySQL Group Replication的困难有哪些?排队等待公平的问题底层Paxos通信是单线程的复制状态机原理等待skip信息过程存在Head-of-line blocking问题木桶原理受限于主从复制机制的缺陷多主情况下,存在很多限制多主情况下,不同节点DDL并发的问题基于MGR困难分布式数据库样例Primarysecondarysecondary数据节点数据节点#1
4、 集群集群Primarysecondarysecondary数据节点数据节点#2 集群集群PrimaryPrimaryPrimary计算节点集群计算节点集群Primarysecondarysecondary全局事务管理器集群全局事务管理器集群对外交互如何利用MySQL Group Replication来做高可用?如何利用MGR来做高可用全局事务管理器节点计算节点数据节点计算节点如何利用MGR?计算节点如何利用MGR利用Notify接口进行回调处理 视图变化 成员状态变化 角色变化 QUORUM LOSS对DDL走MGR强一致性写,达到计算节点元数据一致性利用MGR一致性消息进行分布式锁处理利
5、用多主模式实现任意一个节点写利用多数派机制实现分布式事务协调者高可用数据节点如何利用MGR?数据节点如何利用MGR利用MGR自身特性,实现从库relay log batching入盘利用MGR单主fast模式,去除认证数据库利用最新从库数据进行切主从库可以采用failure stop模式来加速回放利用多数派机制,实现事务执行者的高可用利用MGR单主机制来感知视图变化基于MySQL的分布式数据库高可用总结基于MySQL的分布式数据库高可用总结使用传统半同步第三方组件性能受制于半同步架构复杂难以理解使用MySQL MGR方案架构清晰易理解更大的优化空间性能更高更加优雅国内自主MySQL版本-GreatSQL社区客服社区公众号社区官网:https:/