MongoDB副本集概述,副本集是什么?有什么用?
MongoDB 副本集概述
一、为什么要使用副本集?
在了解副本集之前,我们先来聊聊副本集的对立面——单机服务器存在的问题:
在学习MongoDB时,我们一般都只需要启动一个 Mongod服务,也就是只有一个MongoDB服务器。这样用来学习是没有问题,但用在生产环境上却是万万不可、风险极高的:如果单机服务器出现了崩溃、网络故障、或者硬件磁盘损坏等问题而导致不可访问了,我们的数据库将至少罢工一段时间,严重时可能永远都无法恢复。这将导致严重的生产事故!!!
主从复制和副本集都是为了解决这种问题而存在的,现如今已经很少使用主从复制,都是采用副本集的方式。本文后面会简单讲解一下副本集和主从复制的区别。
二、副本集是什么?有什么用?有哪些成员?
副本集是一组维护相同数据的Mongod服务。
副本集由多个服务组成,包含一个主服务器/主节点(primary)负责处理客户端请求,以及若干个副服务器/备份节点(secondary)负责保存主服务器的数据副本。如果主服务器崩溃了,副本集通过其主节点选举机制,可以自动将某个备份节点升级成为主节点。这样,就可以避免因主节点服务器不可访问而影响用户使用。(这种机制被称为为自动故障转移)。
副本集的成员包含一个主节点和若干个备份节点,有一只特殊的备份节点叫作“仲裁者”,仲裁者不会备份数据,只会在选举主节点时参与投票。(副本集的选举机制十分有趣,我会另写一篇博文来讲解)。
需要注意的是:
- 单台服务器可以执行的请求,主节点都可以执行(读、写、执行命令、创建索引等)。
- 备份节点不能执行写操作,默认也不能执行读操作。但是通过在备份节点上显式执行setSlaveOk命令之后,就可以从备份节点上读取数据。
副本集的成员关系如图:
三、副本集与主从复制的区别
主从复制和副本集最大的区别就是副本集没有固定的“主节点”;整个集群会选出一个“主节点”,当其挂
掉后,又在剩下的从节点中选中其他节点为“主节点”,副本集总有一个活跃点(主、primary)和一个或多
个备份节点(从、secondary)。
MongoDB副本集概述,副本集是什么?有什么用?相关推荐
- MongoDB副本集、分片集的伪分布式部署(保姆级教程)
目录 1 集群架构(概念篇) 1.1 MongoDB核心组件 1.2 主从复制 1.3 副本集 1.4 分片集 2 集群搭建 2.1 部署副本集(伪分布式) 2.2 分片集部署(伪分布式) 2.3 副 ...
- Mongodb sharding转换一个副本集为分片集群
2019独角兽企业重金招聘Python工程师标准>>> 1. 部署一个测试副本集 创建第一个副本集实例,名称为firstset: 1.1 创建副本集并且插入数据如下:/data/ex ...
- Mongodb本机部署副本集
目录 知识储备 1.为什么我们需要搭建副本集模式呢? 2.副本集成员构架 应用目标 实践步骤 一.部署副本集 1. 创建数据目录 2. 启动副本集 3. 关闭MongoDB服务 4.登录mongod实 ...
- MongoDB 单节点升级为副本集高可用集群
文章目录 项目背景 副本集架构 升级架构前注意事项 一.原单节点MongoDB配置信息 1.1 原配置文件 1.2 在原来配置文件增加副本集配置 二.新增节点信息 2.1 新增节点配置文件 2.2 启 ...
- 搭建高可用的MongoDB集群:MongoDB的配置与副本集
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过 ...
- 搭建高可用的MongoDB集群(一):MongoDB的配置与副本集
传统的关系数据库具有不错的性能及稳定性,同时,久经历史考验,许多优秀的数据库沉淀了下来,比如MySQL.然而随着数据体积的爆发性增长,数据类型的增多,许多传统关系数据库扩展难的特点也爆发了出来,NoS ...
- SpringBoot整合MongoDB以及副本集、分片集群的搭建
整合springboot应用 说明: 这里主要以 springboot 应用为基础应用进行整合开发. Spring Data : Spring 数据框架 JPA .Redis.Elasticsearc ...
- 搭建mongodb分布式集群(分片集群+keyfile安全认证以及用户权限)
介绍: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处理更大的负载.基本思想就是将集合切成小块,这些块 ...
- linux系统中MongoDB数据库安装及分片集群搭建
史上最全的mongodb分片集群搭建,从介绍安装到集群搭建授权,你再也找不到比他更加详细的资料了,未经允许禁止转载!! 一.简介 MongoDB是一个便于开发和扩展设计的文档数据库,属于NoSQL数据 ...
最新文章
- Python的 if .else.elif语句详解
- OpenShift — 核心业务流程
- [Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链
- 1847 奇怪的数学题(杜教筛 + Min_25 + 第二类斯特林数)
- php protected const,关于const:PHP类常量 – 公共,私有还是受保护?
- 基于CNN的增量学习论文的读后感
- 【Kafka】kafka 0.10.0 isr 不为空 但是不一致 导致获取消费组异常
- 反射机制在JDBC连接中的使用
- 磁盘及网络测试工具(iperf hdparm dd)
- spring中将静态代理修改为动态代理
- linux shell学习指南,shell脚本学习指南(shell脚本教程详细讲解) 电子扫描版
- 软件开发模型2:增量模型/螺旋模型/敏捷模型
- HashMap底层原理面试题
- 旋转变换(二)欧拉角
- Android5.1开机LOGO与开机动画
- WPF 鼠标滚轮对图片的缩放
- 二阶倒立摆matlab建模与仿真,二级倒立摆的建模与MATLAB仿真.pdf
- Problem K. Road Network - ACPC2015(求树的直径 dp)
- 所谓的我对大学的目标与期望!!!
- NBS BioCommand PLUS