云数据库RDS

    修改数据复制方式

    概述

    您可以根据自身业务需求,设置RDS MySQL主备实例之间的数据复制方式,以提高云数据库可用性。

    复制方式介绍

    MySQL 实例支持异步和半同步两种数据复制方式,Raft 金融版云数据库 RDS 采用 Raft 强同步复制方式,三种复制方式的原理如下:

    • 异步:
      应用发起更新请求,即进行增加、删除、修改数据的操作时,主实例完成操作后会立即响应应用,同时主实例向备实例异步复制数据。
      因此,在异步数据复制方式下,备实例不可用时不会影响主实例上的操作;但如果在操作提交完成时,主实例恰好出现宕机,此时数据尚未发送给备实例,那么备实例上将没有已经完成提交的事务修改的数据,因此在备库切换为新主库时,会造成数据丢失。
      不过总体而言,因主库不可用引起主备库数据不一致的概率较低。
    • 半同步:
      应用发起的更新在主实例执行完成后,会将日志同步传输到备实例,备实例收到日志,事务就算完成了提交,不需要等待备实例执行日志内容。

      在半同步复制模式下,主实例上已完成提交的事务能在至少一个备实例上找回,因而解决了异步复制的数据丢失问题。但是需要等待至少一个备实例落盘并发送确认,主实例上事务提交的时延会变大,因而TPS会下降

      当备实例不可用或者主备实例间出现网络异常时,半同步会退化为异步,因此主库不可用仍然可能会较小概率出现数据不一致。

    • Raft强同步:

      • Raft 强同步模式具有数据强一致的特性,会确保将每一次数据写入同步到集群的大多数节点,异常切换后能保证主库已提交数据0丢失。杜绝了传统方式在发生网络故障时可能导致的多主同时存活的脑裂问题。
      • 当实例的节点数≥3时,才支持强同步。因此,只有三节点的Raft 金融版实例支持强同步。三节点Raft 金融版实例的数据复制方式无法修改。

    说明:默认情况下,双机高可用版云数据库 RDS for MySQL 实例采用异步复制方式。

    前提条件

    实例为如下版本:

    • MySQL 5.7 双机高可用版
    • MySQL 5.6 双机高可用版/Raft金融版
    • MySQL 5.5 双机高可用版

    修改数据复制方式

    1. 登录 RDS 管理控制台
    2. 在控制台页面左上角,选择实例所在地域
    3. 找到目标实例,点击“实例名称”进入实例详情页面。
    4. 在“基本信息”模块,可对数据同步方式进行修改。点击开启半同步即可由异步同步方式修改为半同步同步方式。

      image.png

    说明: 在只读实例的“基本信息”页面仅可以查看数据同步方式,如需修改请前往主实例“基本信息”页面。

    相关API

    上一篇
    修改实例域名
    下一篇
    预付费转后付费