“三分钟玩转天翼云课堂” 天翼云数据库主从复制机制

欢迎来到“三分钟玩转天翼云课堂”,今天跟大家分享的主题是“天翼云数据库主从复制机制”。

大家可以看视频,后面也配了图文版供大家浏览。

图文版如下:

当我们在天翼云门户创建mysql实例的时候,我们需要选择是否开启HA,选择开启HA,有2种可选的同步模型:异步活半同步,要理解这两种机制,我们需要先了解MySQL的主从复制原理。

MySQL的主从复制模型

主实例数据库将数据的变更记录到二进制日志文件“Bin_ log”中。

备实例数据库将主实例数据库的”bin_log”, 拷贝到备实例数据库的中继日志“Relay log”。

备实例数据库重做“Relay log”中的事件,将变更应用到它自己的数据库。

对于主实例数据库是否等待备实例数据库收到“bin_log”才响应客户端,不同的同步模型,处理方式存在差异。根据处理方式的不同,可以分为“异步”和“半同步”两种模型。

MySQL的异步模型

MySQL默认是异步复制,即主实例数据库执行完Commit后,并写入“Binarylog”日志后便可成功响应客户端,无需等“Binary log”日志传到备实例数据库。

可能存在一旦主实例数据库系统崩溃,会有丢失日志的可能。

MySQL半同步模型

与异步模型不同的地方在于,需要

与异步模型不同的地方在于,需要等待备实例数据库接收到“Binarylog”日志,并成功写入“Relay Log”之后,才会给客户端返回操作成功。

事务成功提交后,至少有两份日志记录,一份在主实例数据库“Binarylog”上,另一份在备实例数据库“Relay Log”上,以保证数据完整性。

半同步模型性能很大程度取决于主备网络RTT(往返时延)。

MySQL同步模型的最佳实践

如果数据库的性能优先,并且能容忍一定的数据丢失,推荐异步复制。

如果数据库的数据完整性优先,并且能容忍一定的性能损耗,推荐半同步复制。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181215A0IERM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券