Replication
复制是将拷贝一份相同的数据到多台服务器上,通过网络连接在一起。 复制数据主要有以下原因
- 是你的数据在地理位置上离用户更近
- 运行系统继续工作即使部分节点停止工作
- 扩展机器数量以至于服务更多读请求
假如你的数据集足够小,每台机器都可以存储一份完整的副本, 但是如果数据集很大,单台机器无法存储的话,我们需要使用到分区。
如果所复制的数据不会发生变化,复制就非常简单:只需要将数据复制到每个节点即可。但困难在于处理复制数据的变化。我们将讨论三种流行的复制变化算法:单领导者、多领导者以及无领导者复制。几乎所有的分布式数据库都使用这三种方法之一,它们各有优缺点。
在复制过程中有许多权衡要考虑,比如是使用同步还是异步复制,以及如何处理失败的副本。这些往往是数据库中的配置选项,尽管各数据库的具体实现不同,但基本原理相似。