作者:禅与计算机程序设计艺术
1.背景介绍
数据复制主要用于提高数据的可用性、可靠性和性能。常用的两种数据库复制方式是主从复制和主主复制。主从复制指的是一台服务器作为主节点,其他服务器作为从节点。当主节点的数据发生变化时,将自动将变更通知到从节点,从节点接收到通知后将其同步更新自己的数据库。主从复制是一个典型的单向复制,即只支持单向复制数据变化。
而主主复制则允许双方都可以对数据库进行修改,实现多机数据共享。主主复制通常应用于跨机房部署或异地容灾备份等场景。
本文将以MySQL为例介绍读写分离(Replication)、主从复制(Master-Slave)和主主复制(Master-Master)的相关知识。
2.核心概念与联系
读写分离
读写分离是解决数据库服务器负载过重的问题的一种方案。它通过把数据库中的读请求和写请求分别放在不同的服务器上,读服务器和写服务器互不干扰,从而降低了数据库服务器的压力。读写分离还可以提高并发处理能力,改善数据库的整体资源利用率。
读写分离一般通过分成两个服务器,一个写服务器和多个读服务器组成,每个数据库只能有一个主服务器,所有的写操作都在主服务器完成,写服务器将变更记录在日志中,然后通知其他的读服务器进行更新。读服务器直接连接主服务器,查询最新版本的数据,而对于写服务器来说,只有在主服务器更新数据成功后才返回客户端写入成功的信息。这种方式的优点就是提升数据库服务器的处理能力,改善数据库的整体资源利用率;缺点是增加了复杂性和运维难度,需要维护多个数据库服务器。
主从复制
主从复制是MySQL的一个内置功能&#x