目录
  1. 1. repelication 基础简介
    1. 1.1. replication 概述
    2. 1.2. replication 用途
    3. 1.3. 通用的复制设定 Common Replication Setups
      1. 1.3.1. 标准复制 Standard Replication
      2. 1.3.2. 环状复制 Ring Replication
      3. 1.3.3. 星状复制 Star Replication
      4. 1.3.4. 多源复制 Multi-Source Replication
(十七)MariaDB的复制(replication)简介

注意区分:在一开始的时候,有讲到备份和还原,有详细提到两个命令 mysqldump 和 mariabackup,用于备份(Backing Up)

repelication 基础简介

replication 概述

复制(Replication)是一个允许一个或多个主(master)服务器的内容镜像复制到一个或多个从(slave)服务器上的特性。

可以控制要复制的数据:所有数据库、一个或多个数据库或数据库中的表。

复制中使用的主要机制是二进制日志(binary log)。如果启用了二进制日志记录,则数据库的所有更新(数据操作和数据定义)都将作为 binlog 事件写入二进制日志。从服务器(Slaves)从每个主机(each master)读取二进制日志,以便访问要复制的数据。中继日志(relay log)是在从属服务器上创建的,使用与二进制日志相同的格式,用于执行复制。旧的中继日志文件将在不再需要时被删除。

从服务器保持轨迹(track)在主服务器的 binlog 中记录的最后一次应用到从服务器的事件的位置。这就可以允许从服务器重新连接,并从临时停止后中断的位置恢复复制操作。它还允许从服务器断开连接、克隆,然后从同一主服务器恢复新的从服务器复制。

主从服务器之间不需要持续通讯(constant communication)。服务器脱机或断开与网络的连接情况很常见,但当它们重连时,复制将在中断的地方继续执行。

replication 用途

可扩展性(Scalability)。通过拥有一个或多个从属服务器,可以将读取分散到多个服务器上,从而减少主服务器上的负载。对于高读、低写环境,最常见的情况是有一个主节点,所有的写操作都在其中进行,复制到多个从节点,这些从节点处理大部分的读操作。

数据分析(Data analysis)。分析数据可能会对主服务器产生太大的影响,这同样可以在从属服务器上处理,而主服务器继续不受额外负载的影响。

备援(Backup assistance)。如果服务器不主动更改数据,备份(Backups)可以更轻松地运行。一个常见的场景是将数据复制到从属服务器,然后在数据处于稳定状态时从主服务器断开连接。然后从该服务器执行备份。

数据分发(Distribution of data)。与其连接到远程主机,还可以在本地复制数据,并从该数据开始工作。

通用的复制设定 Common Replication Setups

标准复制 Standard Replication

特点:

  • 提供无限的读取横向扩展。
  • 通过将从机(Slave)升级为主机(Master)来提供高可用性。

标准复制示意图

环状复制 Ring Replication

特点:

  • 提供读写缩放(scaling)。
  • 不处理冲突。
  • 如果一个主服务器发生故障,复制将停止。

环状复制示意图

星状复制 Star Replication

特点:

  • 提供读写缩放。
  • 不处理冲突。
  • 必须使用复制过滤器以避免重复数据。

星状复制示意图

多源复制 Multi-Source Replication

特点:

  • 允许合并来自不同来源的数据。
  • 在所有的从服务器上,不同域独立并行执行。

多源复制示意图

文章作者: SWM Lee
文章链接: http://swmlee.gitee.io/2020/06/18/TechnicalEssays/MariaDBSeries/17mariadb-replication/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SWM博客

评论