数据复制方式

最近更新时间: 2024-10-17 17:10:00

数据复制方式

数据复制方式又名数据同步方式,指在数据库高可用方案下,主从数据节点数据复制的机制。云数据库 MySQL/MariaDB 目前支持:

  • 异步复制:应用发起更新(含增加、删除、修改操作)请求,Master 完成相应操作后立即响应应用,Master 向 Slave 异步复制数据。因此异步复制方式下,Slave 不可用不影响主库上的操作,而 Master 不可用有概率会引起数据不一致。

  • 强同步(不可退化)复制:应用发起更新请求,Master 完成操作后向 Slave 复制数据,Slave 接收到数据后向 Master 返回成功信息,Master 接到 Slave 的反馈后再应答给应用。Master 向 Slave 复制数据是同步进行的,因此 Slave 不可用会影响 Master 上的操作,而 Master 不可用不会引起数据不一致。

注意:

使用强同步复制时,如果主库与从库自建网络中断或从库出现问题,主库也会被锁住(hang),而此时如果只有一个主库或一个从库,是无法做高可用方案的。因为单一服务器服务,如果故障则直接导致部分数据完全丢失,不符合金融级数据安全要求。

  • 强同步(可退化)复制:业务系统中批处理、事务大量写入数据会导致从机严重延迟;加上强同步( 不可退化 )仅余单节点会被锁住;这些原本保证数据一致性的机制可能导致业务系统异常。 为解决这个问题,云数据库提供在强同步机制上可退化为异步的方案,从机延迟大于等于十五秒时,系统自动将强同步退化为异步;从机延迟小于十五秒时,系统自动将异步升级为强同步。强同步(可退化)是一种高效的、保证数据最终一致性的方案。

注意:

此处与 Google 开源的半同步机制不同点在于,强同步采用的是线程池,且不占用工作线程模式,且退化方案优于半同步。

修改数据复制方式

云数据库 MySQL/MariaDB 一主一从仅提供强同步( 可退化 )、异步复制两种方案;如需数据一致性,请购买一主二从三节点版本。

修改方式有两种场景:

  • 新建实例时,可以在新建阶段设定数据复制方式。

  • 编辑实例,通过实例列表,进入实例详情页,找到可用性信息->数据复制方式,进行修改。

说明:

修改过程不影响实例正常运行,修改后小于等于五秒即生效。