mysql 架构 ~ MGR 与PXC的对比

一 简介 MGR和PXC的对比

二  WriteSet
1 定义 是组件对于写节点应用事务生成binlog的再封装,用来验证其他节点的事务冲突
PXC
构成
key db_table_组件值
data binlog日志数据
MGR 构成
待补充
2 推送
 对于WriteSet的推送 MGR采用的是paxos pxc采用的是gelera组件
3 过程
MGR 主->binlog->验证->commit
从->验证—>relaylog->apply->commit
从->验证—>relaylog->apply->commit
PXC 主—>binlog->验证->commit
从->验证->apply->commit

成功 返回 commit ok
失败 返回 deadlock/failure

4 冲突检测

  1 MGR 本身每个节点维护一个冲突检测库,记录通过检测的事务(1 库+表+主键ID做的hash值 2 全局事务GTID验证的集合),等待验证的writeset包含本身GTID的集合,会与节点的GTID集合做对比,如果大于,则验证通过,节点GTID集合+1,如果小于,验证失败,整体集合进行回滚
5 总结
  PXC和MGR大体的流程是差不多
  PXC和MGR对于验证冲突的内部是不一样的

猜你喜欢

转载自www.cnblogs.com/danhuangpai/p/10365657.html