美文网首页
Mysql-主从复制

Mysql-主从复制

作者: 麦大大吃不胖 | 来源:发表于2020-12-11 20:17 被阅读0次

by shihang.mai

1. 主从复制简述

mysql-主从复制原理
  1. master库修改记录,写到binlog,然后dump线程拉取binlog,然后通过网络发给salve
  2. salve写到relay-log中,然后sql thread重演binlog

2. 主从数据间延迟解决方案

  1. 业务的持久化层的实现采用分库架构,mysql服务可平行扩展,分散压力

  2. 单个库读写分离,一主多从,主写从读,分散压力。这样从库压力比主库高,保护主库

  3. 服务的基础架构在业务和mysql之间加入memcache或者redis的cache层。降低mysql的读压力

  4. 不同业务的mysql物理上放在不同机器,分散压力

  5. 使用更加强劲的硬件设备

mysql-主从复制5.7前解决方案

3. MTS

MTS,叫并行复制机制,解决sql Thread并行.而能否并行,关键在于多事务之间是否有锁冲突

版本 MTS机制 实现原理
5.6 Database 基于库级的并行复制
5.7 COMMIT_ORDER 基于组提交的并行复制
5.7.22 WRITESET/ WRITESET_SESSION 基于WRITESET的并行复制

3.1 Database

基于Database级别的并行复制效果并不特别好,因为大多数生产的架构依然习惯于单库多表的架构,这种情况下MTS依然还是单线程的效果。但Database级别并行复制的好处是可以兼容任何二进制日志,从机都可以进行库级别的并行回放

3.2 COMMIT_ORDER

基于Commit_Order的并行复制是在主数据库实例事务提交时,写入一些额外信息,从而在从机回放时,可以根据这些信息判断是否可以进行并行的回放。

原理:同一组提交的事务之间是不冲突的,因此可以并行回放

3.2.1 Commit-Parent-Based模式

slave-parallel-type=LOGICAL_CLOCK : Commit-Parent-Based模式
同一组的事务[last-commit相同],没有锁冲突.

mysql-5.7主从复制

3.2.2 Lock-Based模式

slave-parallel-type=LOGICAL_CLOCK : Lock-Based模式
即便不是同一组的事务,只要事务之间没有锁冲突[prepare阶段],就可以并发。 不在同一组,只要N个事务prepare阶段可以重叠,说明没有锁冲突

mysql-主从复制Lock-Based

3.3 WriteSet

原理:不同事务的不同记录不重叠,则都可在从机上并行回放,并行的力度从组提交细化为记录级

WriteSet对象就是每条记录hash后的值

WriteSet=hash(index_name | db_name | db_name_length | table_name | table_name_length | value | value_length)

产生值后,放入WriteSet哈希表,保存每条记录的WriteSet值和对应的sequence_number。

当事务每次提交时,会计算修改的每个行记录的WriteSet值,然后查找哈希表中是否已经存在有同样的WriteSet

  • 若无,证明该的不是同一个记录可以并行回放。,WriteSet插入到哈希表,写入二进制日志的last_committed值不变。
  • 若有,证明该的同一个记录,不可回放,并将last_committed值更新为sequnce_number

相关文章

  • mysql(十二)

    MySQL-主从复制 主从复制原理 主从复制的前提 1)两台或两台以上的数据库实例2)主库要开启二进制日志3)主库...

  • Mysql-主从复制

    Mysql主从复制的基本原理 核心:Slave从Master读取binlog进行数据同步Mysql主从复制过程: ...

  • mysql-主从复制

    三步骤: 1、master将改变记录到二进制日志。这些记录过程叫做二进制日志事件,binary log event...

  • Mysql-主从复制

    主从复制 by shihang.mai 主从数据间延迟解决方案 业务的持久化层的实现采用分库架构,mysql服务可...

  • mysql-主从复制

    准备工作 现在我有两台mysql服务,一台在windows,一台在liunx虚拟机。 复制的基本原理 slave会...

  • MySQL-主从复制基础

    0.企业高可用性标准 *** 0.1 全年无故障率(非计划内故障停机) 0.2 高可用架构方案 1. 主从复制简介...

  • MySQL-主从复制高级进阶

    半同步复制(了解) 3 解决主从数据一致性问题 半同步复制工作原理的变化 配置半同步复制 过滤复制 说明 主库: ...

  • MySQL-主从复制&读写分离

    零、本文纲要 一、MySQL主从复制 主从复制 主从复制过程 配置主从复制 二、MySQL读写分离 读写分离 Sh...

  • MySQL-数据库主从复制

    0、企业高可用性标准(全年无故障率) 0.1 企业级高可用方案 1、主从复制简介 基于二进制日志复制的主库的修改...

  • 08 MySQL-初识MySQL-事务-隔离鉴别

    如果没有特别说明,都是默认autocommit=1 根据我的第三篇03 MySQL-初识MySQL-事务隔离级别提...

网友评论

      本文标题:Mysql-主从复制

      本文链接:https://www.haomeiwen.com/subject/fnwziktx.html