mongodb副本集和分片存储理论整理

目录

  • 理论概述

    • 一、各种集群简述
    • 二、原理
      • 主从复制
      • Mongodb副本集

理论概述

一、各种集群简述

mongodb有三种集群搭建方式:

  1. 分片:sharding。指为处理大量数据,将数据分开存储,不同服务器保存不同的数据,它们的数据总和即为整个数据集。追求的是高性能。
  2. 复制集:Master-Slave 模式(主从复制)。
  3. 副本集:副本集其实一种互为主从的关系,可理解为主主。副本集指将数据复制,多份保存,不同服务器保存同一份数据,在出现故障时自动切换。对应的是数据冗余、备份、镜像、读写分离、高可用性等关键词;

二、原理

主从复制

在主从结构中,主节点的操作记录成为oplog(operation log)。oplog存储在一个系统数据库local的集合oplog.$main中,这个集合的每个文档都代表主节点上执行的一个操作。
从服务器会定期从主服务器中获取oplog记录,然后在本机上执行!对于存储oplog的集合,MongoDB采用的是固定集合,也就是说随着操作过多,新的操作会覆盖旧的操作!也就是说的是oplog的大小,可以自定义进行设置,达到界定大小,就会覆盖旧的操作日志

选举原理

  • 只有标准节点可能被选举为活跃节点,有投票权利
  • 被动节点有完整副本,但是始终不能成为活跃节点,有投票权利
  • 仲裁节点只有投票权利,其它都没有

通过设置priority值来区分标准节点和被动节点,高的就是标准节点,反之亦然

标准节点选取活跃节点时,所有节点投票,priority值为0-1000,票数高者获胜;票数相同时,数据新者获胜

Mongodb副本集

Mongodb主从复制 及 副本集+分片集群梳理

原文地址:https://www.cnblogs.com/joinbestgo/p/11067429.html

时间: 2024-08-29 15:44:36

mongodb副本集和分片存储理论整理的相关文章

Mongodb副本集和分片的概念

副本集(Replica Set): 通俗的说,副本集就是集群,主从复制,读写分离,故障切换. 副本集是Mongodb原来的主从模式的升级版本,官方已经不再推荐使用主从模式. MongoDB的副本集与主从有所不同,主从在主机宕机后所有服务将停止,而副本集在主机宕机后,副本会接管主节点成为主节点,不会出现宕机的情况. mongodb的复制至少需要两个节点.其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据. mongodb各个节点常见的搭配方式为:一主一从.一主多从. 主

MongoDB 副本集+分片 认证方式搭建

MongoDB 副本集+分片 认证方式搭建 参考资料: https://www.cnblogs.com/ityouknow/p/7344005.htmlhttps://jorwen-fang.iteye.com/blog/2031756https://www.cnblogs.com/bjx2020/p/9350232.htmlhttps://www.jb51.net/article/161315.htmhttps://blog.51cto.com/beigai/1751381 环境规划: 服务器

Mongodb 副本集+分片集群搭建

环境需求: 在三台机器上搭建副本集,在副本集上做分片 服务器IP: 192.168.1.232/192.168.1.238/192.168.1.241 安装Mongodb all nodes: tar zxvf mongodb-linux-x86_64-rhel62-3.4.4.tgz cp -rvf  mongodb-linux-x86_64-rhel62-3.4.4  /opt/mongodb_3.4.4 cd /opt/mongodb_3.4.4/ mkdir -pv conf logs

MongoDB之shard_副本集和分片部署

机器角色分配和拓扑环境如下: -------------------配置副本集s1-------------------------------1.创建目录在s1h1上创建如下目录[[email protected] db]# mkdir -p /db/s1/conf[[email protected] db]# mkdir -p /db/s1/data[[email protected] db]# mkdir -p /db/s1/log 在在s1h2上创建如下目录[[email protect

Mongodb 副本集分片(一)---初始化mongodb安装启动

写在前面:mongodb是nosql非关系型数据库中,比较受欢迎的产品.在数据持久化及与关系型数据库的关联上也做的比较好,目前各大公司在存放二进制文件(图片.视频等)中应用也比较广泛.其遵循的key-value的数据模式及面向对象的json语句用法,也比较简单.在之后,会系列的跟大家分享,我在学习及生产应用中,使用到的mongodb的一些心得.希望大家共同学习,共同研究探讨.谢谢. 以下内容,是简单的将整个mongodb的安装过程,进行shell脚本化编辑.很简单的脚本编写.如有任何问题,欢迎大

MongoDB副本集运维小结

前面的文章介绍了MongoDB副本集和分片集群的做法,下面对MongoDB集群的日常维护操作进行小总结: MongDB副本集故障转移功能得益于它的选举机制.选举机制采用了Bully算法,可以很方便从分布式节点中选出主节点. Bully算法是一种协调者(主节点)竞选算法,主要思想是集群的每个成员都可以声明它是主节点并通知其他节点.别的节点可以选择接受这个声称或是拒绝并进入主 节点竞争.被其他所有节点接受的节点才能成为主节点.节点按照一些属性来判断谁应该胜出.这个属性可以是一个静态ID,也可以是更新

搭建高可用mongodb集群—— 分片

从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的时候能否做到自动扩展? 在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会出现一台机器硬件瓶颈问题的.而mongodb主打的就是海量数据架构,他不能解决海量数据怎么行!不行!“分片”就用这个来解决这个问题. 传统数据库怎么做海量数据读写?其实一句话概括:分而治之.上图看看就清楚了,如下 taobao岳旭强在infoq中提到的 架构图: 上图中有个TDDL,是taobao的一

MongoDB分片存储的集群架构实现

MongoDB分片存储的集群架构实现 如果需要存储大量数据,或者系统的读写吞吐量很大的时候,单个server就很难满足需求了.这个时候我们可以使用MongoDB的分片机制来解决这些问题. 分片的基本概念 分片(sharding)是一种水平扩展(horizontal scaling)的方式,把一个大的数据集分散到多个片服务器上,所有的片服务器将组成一个逻辑上的数据库来存储这个大的数据集.分片对用户(应用层)是透明的,用户不会知道数据很被存放到哪个片服务器上. 这种方式有两个好处: 分片之后,每个片

搭建mongodb集群(副本集+分片)

完整的搭建mongodb集群(副本集+分片)的例子... 准备四台机器,分别是bluejoe1,bluejoe2,bluejoe3,以及bluejoe0 副本集及分片策略确定如下: 将创建3个副本集,命名为shard1,shard2,shard3: 以上3个副本集作为3个分片: 每个副本集包含2个副本(主.辅): 副本分开存储,即shard1存在bluejoe1和bluejoe2上各一份...以此类推 将创建3个配置库实例,一台机器一个 bluejoe0上配置一个mongos(mongos一般可