mongodb副本集和分片存储理论整理
Posted joinbestgo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb副本集和分片存储理论整理相关的知识,希望对你有一定的参考价值。
理论概述
一、各种集群简述
mongodb有三种集群搭建方式:
- 分片:sharding。指为处理大量数据,将数据分开存储,不同服务器保存不同的数据,它们的数据总和即为整个数据集。追求的是高性能。
- 复制集:Master-Slave 模式(主从复制)。
- 副本集:副本集其实一种互为主从的关系,可理解为主主。副本集指将数据复制,多份保存,不同服务器保存同一份数据,在出现故障时自动切换。对应的是数据冗余、备份、镜像、读写分离、高可用性等关键词;
二、原理
主从复制
在主从结构中,主节点的操作记录成为oplog(operation log)。oplog存储在一个系统数据库local的集合oplog.$main中,这个集合的每个文档都代表主节点上执行的一个操作。
从服务器会定期从主服务器中获取oplog记录,然后在本机上执行!对于存储oplog的集合,MongoDB采用的是固定集合,也就是说随着操作过多,新的操作会覆盖旧的操作!也就是说的是oplog的大小,可以自定义进行设置,达到界定大小,就会覆盖旧的操作日志
选举原理
只有标准节点可能被选举为活跃节点,有投票权利
被动节点有完整副本,但是始终不能成为活跃节点,有投票权利
仲裁节点只有投票权利,其它都没有
通过设置priority值来区分标准节点和被动节点,高的就是标准节点,反之亦然
标准节点选取活跃节点时,所有节点投票,priority值为0-1000,票数高者获胜;票数相同时,数据新者获胜
Mongodb副本集
以上是关于mongodb副本集和分片存储理论整理的主要内容,如果未能解决你的问题,请参考以下文章