mysql的半同步机制介绍
2012-12-28 21:46
253 查看
mysql主从备份之间存在同步,半同步与异步的方式,对于同步与异步相对而言比较好理解,但是同步存在延迟比较大,效率不高,异步又不能百分百保证数据的一致性。而半同步方式正好是两者的兼容。
mysql半同步模式是在mysql5.5版本以后增加的,所谓半同步指当master事物提交后,等待slave接收日志后才返回给应用层表示成功,事物足够小,延迟较小的话,通过半同步的模式,牺牲较小的性能就能保证数据不丢失。
但是半同步的方式也存在着缺陷,完成单条事物增加了额外的开销,同时延迟的大小也取决于网络的好坏。
采用半同步的方式,当slave down机时,master在一次等待超时时,会关闭半同步的特性,切换到异步的方式。master down机后,可能存在一些事务已经在主库Commit,但是还没有传给任何slave,这类事务被称为"墙头事务",“墙头事务”都是没有返回给slave的,所以发起事务的应用层并不知道这个事务是否已经完成。这时,如果应用层不做切换,只是等down机的master恢复后,继续在master进行操作,客户端会发现前面的"墙头事务"都已经完成,可以继续进行后续的业务处理;另一种情况,如果应用层Failover到slave上,应用层会发现前面的“墙头事务”都没有成功,则需要重新做这些事务,然后继续进行后续的业务处理。
对于slave可以有多个,任何一个slave接收完成日志后,master就可以返回给应用层了,网络传输在并发线程较多时,一次可能传输很多日志,事务的平均延迟会降低。"墙头事务"在墙头上的时候,是可以被读取的,但是这些事务在上面Failover的场景下,是被认为没有完成的。
(以上内容是跟同事讨论时查资料的一点小结,相关理解来自于查找资料)
mysql半同步模式是在mysql5.5版本以后增加的,所谓半同步指当master事物提交后,等待slave接收日志后才返回给应用层表示成功,事物足够小,延迟较小的话,通过半同步的模式,牺牲较小的性能就能保证数据不丢失。
但是半同步的方式也存在着缺陷,完成单条事物增加了额外的开销,同时延迟的大小也取决于网络的好坏。
采用半同步的方式,当slave down机时,master在一次等待超时时,会关闭半同步的特性,切换到异步的方式。master down机后,可能存在一些事务已经在主库Commit,但是还没有传给任何slave,这类事务被称为"墙头事务",“墙头事务”都是没有返回给slave的,所以发起事务的应用层并不知道这个事务是否已经完成。这时,如果应用层不做切换,只是等down机的master恢复后,继续在master进行操作,客户端会发现前面的"墙头事务"都已经完成,可以继续进行后续的业务处理;另一种情况,如果应用层Failover到slave上,应用层会发现前面的“墙头事务”都没有成功,则需要重新做这些事务,然后继续进行后续的业务处理。
对于slave可以有多个,任何一个slave接收完成日志后,master就可以返回给应用层了,网络传输在并发线程较多时,一次可能传输很多日志,事务的平均延迟会降低。"墙头事务"在墙头上的时候,是可以被读取的,但是这些事务在上面Failover的场景下,是被认为没有完成的。
(以上内容是跟同事讨论时查资料的一点小结,相关理解来自于查找资料)
相关文章推荐
- MySQL主从介绍,准备工作,配置主,配置从,测试主从同步
- Mysql锁机制介绍
- 专业课程设计之客户与服务器程序的同步与通信机制的设计(一)项目介绍
- 【Linux基础系列之】同步机制介绍
- MySQL主从介绍、准备工作、准备工作、配置从、测试主从同步
- MySQL主从介绍 , 准备工作,配置主,配置从, 测试主从同步
- 17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步
- MySQL系列:innodb源码分析之线程并发同步机制
- 17.1 MySQL主从介绍;17.2 准备工作;17.3 配置主;17.4 配置从;17.5 测试主从同步
- mysql查询更新时的锁表机制分析(只介绍了MYISAM)
- 17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步
- mysql查询更新时的锁表机制分析(只介绍了MYISAM)
- linux内核同步机制中的概念介绍和方法
- 17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步
- MySQL主从同步机制及同步中的问题处理
- 简单介绍MySQL中的事务机制
- mysql查询更新时的锁表机制分析(只介绍了MYISAM)
- MYSQL5.5半同步复制介绍
- mysql查询更新时的锁表机制分析(只介绍了MYISAM)
- MySQL半同步Semi-sync原理介绍