如同许多关系数据库一样,MongoDB支持以实时或接近实时的方式,将数据内容复制到另一台服务器中。
一、MongoDB复制特性
- 可扩展性
- 提高冗余度
- 改善性能
复制通常用于防止硬件故障或数据库损坏,同时为备份和其他具有重要影响的维护活动提供灵活性,只对系统造成一点儿影响或没有影响。
希望拥有一个备份系统,以避免系统出现失败的情况。为了避免由于系统故障所造成的影响,避免使用普通的备份模式进行长时间的恢复,可以使用复制作为备份。
使用复制之后,就可以在各个节点之间轮流执行备份或升级这样的管理任务。
二、MongoDB复制
复制的这些方法都被复制集的概念所取代,在MongoDB中,一个复制集由一个主节点和许多辅助或仲裁节点组成,复制集成员的个数应该为奇数,这意味着最少应该有3个节点。
MongoDB中有一条规则:主服务器必须能够看到其他的大多数节点,才能继续成为主服务器。这条规则主要是为了避免“脑裂”问题,也就是当网络出现问题时,有两台服务器成为主服务器的情况。