数据库数据复制机制

在master-slave数据库集群模式下,数据复制机制有三种:同步复制模式,异步复制模式,半同步复制模式。


同步复制模式:一个cluster下,数据更新要么同时生效于master和所有slave,要么同时不生效,达到一致结果后通知application。这种模式具有强一致性,可通过诸如“两阶段提交协议”等机制来保证,但性能上开销较大,适合一致性要求很高的场景。


异步复制模式:当application向master发起数据更新时,master先提交事务,返回application操作成功,然后再异步将数据复制到其它slave上。这种模式性能最优,但存在数据一致性的隐患,当master提交事务,未将数据同步到slave时crash了,那么这段期间产生的数据更新可能会丢失。适用于性能要求较高,一致性要求不那么严格的场景。

半同步复制模式:当application向master发起数据更新时,master提交事务,同时仅需向一台slave发起数据同步,slave确认后,master告知application操作成功。slave做确认时,不需要进行事务提交操作,只需要记录中继日志(relay log),这样性能开销很小。后续master再通过异步方式更新整个cluster的数据。半同步复制模式应用于mysql,是一种比较优雅的数据同步模式,不仅有较好的性能,而且在master crush时,还可以通过slave的relay log达到数据恢复。当支持半同步复制模式的那台slave failover时,master还可以自动切换成异步复制模式,待slave恢复后,再切回半同步复制模式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值