-
主从复制(Master-Slave Replication):
- 数据从一个主数据库(Master)复制到一个或多个从数据库(Slave)。
- 主数据库处理写操作,从数据库处理读操作。
- 常见的复制方式是异步复制,但也可以配置为半同步复制。
-
主主复制(Master-Master Replication):
- 多个数据库实例同时充当主数据库,每个数据库都可以进行读写操作。
- 数据在它们之间同步。
- 需要解决数据冲突问题,通常通过全局唯一标识符(如GTID)来跟踪事务。
-
双向复制(Bi-Directional Replication):
- 数据在两个数据库系统之间双向流动。
- 每个系统互为源端和目标端。
- 解决了单向复制中的循环复制问题,通常使用日志标记或数据标记来解决数据冲突。
-
同步复制(Synchronous Replication):
- 每次数据更新时,都会同步更新多个副本,确保数据的一致性。
- 延迟较低,但可能会影响性能。
-
异步复制(Asynchronous Replication):
- 数据更新时,不需要等待所有副本的更新,而是先将数据更新到主数据库,然后异步地更新到副本。
- 延迟可能较大,但可以提供更好的性能。
-
物理复制(Physical Replication):
- 复制物理的存储块或存储块的物理改变。
- 适用于严格同构的系统间的数据复制。
-
逻辑复制(Logical Replication):
- 复制上层抽象的操作语言,如SQL语句或明文数据。
- 适用于异构系统的数据复制。
-
多主复制(Multi-Master Replication):
- 多个数据库服务器可以同时作为主服务器,每个服务器都可以接受写操作。
- 数据在服务器之间同步,需要解决数据冲突和一致性问题。
-
组复制(Group Replication):
- 一种特殊的多主复制方式,提供更高的一致性保障和自动化故障转移机制。
- 适用于需要高可用性和数据一致性的业务场景。