数据复制方式
数据复制方式又名数据同步方式,指在数据库高可用方案下,主从数据节点数据复制的机制。云数据库 MariaDB 目前支持:
异步复制:应用发起更新(含增加、删除、修改操作)请求,Master 完成相应操作后立即响应应用,Master 向 Slave 异步复制数据。因此异步复制方式下,Slave 不可用不影响主库上的操作,而 Master 不可用有概率会引起数据不一致。
强同步(不可退化)复制:应用发起更新请求,Master 完成操作后向 Slave 复制数据,Slave 接收到数据后向 Master 返回成功信息,Master 接到 Slave 的反馈后再应答给应用。Master 向 Slave 复制数据是同步进行的,因此 Slave 不可用会影响 Master 上的操作,而 Master 不可用不会引起数据不一致。
注意
使用强同步复制时,如果主库与从库自建网络中断或从库出现问题,主库也会被锁住(hang),而此时如果只有一个主库或一个从库,是无法做高可用方案的。因为单一服务器服务,如果故障则直接导致部分数据完全丢失,不符合金融级数据安全要求。
强同步(可退化)复制:业务系统中批处理、事务大量写入数据会导致从机严重延迟;加上强同步( 不可退化 )仅余单节点会被锁住;这些原本保证数据一致性的机制可能导致业务系统异常。
为解决这个问题,云数据库提供在强同步机制上可退化为异步的方案,从机延迟大于等于十五秒时,系统自动将强同步退化为异步;从机延迟小于十五秒时,系统自动将异步升级为强同步。强同步(可退化)是一种高效的、保证数据最终一致性的方案。
说明
此处与 Google 开源的半同步机制不同点在于,强同步采用的是线程池,且不占用工作线程模式,且退化方案优于半同步。
修改数据复制方式
说明
云数据库 MariaDB 一主一从仅提供强同步( 可退化 )、异步复制两种方案;如需数据一致性,请购买一主二从三节点版本。
1. 登录 MariaDB 控制台,在实例列表,单击实例 ID,进入实例详情页。
2. 在实例详情页的“数据复制方式”处,修改数据复制方式。
说明
修改过程不影响实例正常运行,修改后小于等于五秒即生效。