MongoDB复制集的概念

阅读更多
一 复制集的概念
MongoDB复制是将数据同步在多个服务器的过程。
复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性。
复制还允许您从硬件故障和服务中断中恢复数据。
复制集是一个集群,它是2台及2台以上的服务器组成,以及复制集成员包括数据节点和投票节点
 

二 复制集原理图

主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。原理图如下:

MongoDB复制集的概念_第1张图片
 
默认情况下,数据读也是指向主节点,原理图如下:

MongoDB复制集的概念_第2张图片
 
 
三 为什么引入是复制集?
1、保障数据的安全性
2、数据高可用性 (24*7)
3、灾难恢复
4、无需停机维护(如备份,重建索引,压缩)
5、分布式读取数据
 
四 主节点是唯一的,但不是固定的
原来主节点是节点1,从节点是节点2、节点3、节点4,当主节点1故障时,会从节点2、节点3、节点4中选举1个主节点,原理图如下:

MongoDB复制集的概念_第3张图片
 
 
五复制集的特点
1 数据一致性
   主是唯一的:没有MySQL那样的双主结构。
   大多数原则:集群存活节点小于等于二分之一时,集群不可写,只可读。
   从库无法写入:MySQL从库的readonly对具有super权限的账户无效。
2 复制集能自动进行容灾
  • MongoDB复制集的概念_第4张图片
  • 大小: 135.3 KB
  • MongoDB复制集的概念_第5张图片
  • 大小: 115.8 KB
  • MongoDB复制集的概念_第6张图片
  • 大小: 85.2 KB
  • 查看图片附件

你可能感兴趣的:(MongoDB,复制集)