【2016-11-1】【坚持学习】【Day16】【MongoDB】【复制集 分片】

Mongodb 两种集群方式

复制集

通常是一主一从,一主多从

mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。

mongodb各个节点常见的搭配方式为:一主一从、一主多从。

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

副本集特征:

  • N 个节点的集群
  • 任何节点可作为主节点
  • 所有写入操作都在主节点上
  • 自动故障转移
  • 自动恢复

分片

在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。

当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据。

为什么使用分片

  • 复制所有的写入操作到主节点
  • 延迟的敏感数据会在主节点查询
  • 单个副本集限制在12个节点
  • 当请求量巨大时会出现内存不足。
  • 本地磁盘不足
  • 垂直扩展价格昂贵

时间: 2024-11-05 06:20:45

【2016-11-1】【坚持学习】【Day16】【MongoDB】【复制集 分片】的相关文章

mongodb复制集+分片生产环境实践

三台机器操作系统环境如下: [[email protected] ~]$ cat /etc/issue Red Hat Enterprise Linux Server release 6.6 (Santiago) Kernel \r on an \m [[email protected] ~]$ uname -r 2.6.32-504.el6.x86_64 [[email protected] ~]$ uname -m x86_64 架构如下图: 文字描述:                  

每天一篇,深入学习MongoDB复制集

复制集概念: 复制集是额外的数据副本,是跨多个服务器同步数据的过程,提供了冗余并增加了数据的可用性,通过它可以对硬件故障和中断的服务进行数据恢复 复制集工作原理: MongoDB复制集最少需要两个节点. 主节点:负责处理客户端的请求, 从节点:负责复制主节点上的数据 搭配方式:一主一从或一主多从 注:客户端在主节点写入数据,在从节点读取数据,主从进行数据交互,保证数据的一致性 MongoDB复制集部署 (1)配置复制集 [[email protected] ~]# mkdir -p /data/

MongoDB复制集的工作原理介绍(二)

复制集工作原理 1)数据复制原理 开启复制集后,主节点会在 local 库下生成一个集合叫 oplog.rs,这是一个有限集合,也就是大小是固定的.其中记录的是整个mongod实例一段时间内数据库的所有变更(插入/更新/删除)操作,当空间用完时新记录自动覆盖最老的记录. 复制集中的从节点就是通过读取主节点上面的 oplog 来实现数据同步的,MongoDB的oplog(操作日志)是一种特殊的封顶集合,滚动覆盖写入,固定大小.另外oplog的滚动覆盖写入方式有两种:一种是达到设定大小就开始覆盖写入

MongoDB复制集及数据分片详解

前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案.本文介绍MongoDB复制集及数据分片. MongoDB 简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.支持的数据结构非常松散,因此可以存储比较复杂的数据类型.最大的特点是其支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询

mongodb复制集的实现

复制集(Replica Sets),是一个基于主/从复制机制的复制功能,进行同一数据的异步同步,从而使多台机器拥有同一数据的都多个副本,由于有自动故障转移和恢复特性,当主库宕机时不需要用户干预的情况下自动切换到其他备份服务器上做主库,一个集群最多可以支持7个服务器,并且任意节点都可以是主节点.所有的写操作都被分发到主节点,而读操作可以在任何节点上进行,实现读写分离,提高负载. 资源有限测试一个VM开3个实例: 环境:centos7.0 192.168.1.21:20011 P 192.168.1

一步一步教你搭建基于docker的MongoDB复制集群环境

一步一步教你搭建基于docker的MongoDB复制集群环境 1.安装docker 2.创建MongoDB的Image 3.搭建MongoDB的集群 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中. 1.ubuntu14.04安装docker 参考文档 http://docs.docker.com/installation/ubuntulinux/ 参考文档 http://docs.docker.com/mac/started/ pc@pc-Th

MongoDB复制集数据库拆分和版本升级实战

MongoDB复制集数据库拆分和版本升级实战 问题描述 复制集rs_1上承载了所有的数据库业务,而加内存已经无法满足应用程序压力. 解决方案 考虑拆分复制集rs_1的部分数据库到rs_2,并同时升级数据库版本到2.6. 架构图 准备 评估升级可能性 1. 连接2.6 mongo shell到2.4 复制集辅助成员,在admin库执行db.upgradeCheckAllDBs().   2. 评估升级到2.6的应用程序兼容性问题,参考:http://docs.mongodb.org/manual/

MongoDB复制集架构

MongoDB复制集架构 由数据结点,投票结点组成,需要配置集群信息,可自动检测集群中的结点健康状态,当有结点出故障时,自动下线和切换主从结点.适用于数据量较大,高可用服务 通常,为了防止单点故障应用程序需要做集群.然而在数据库中除了防止单点故障,还需要做到数据库备份,读写分离,故障转移等.而 MongoDB 的 Replica Set 恰恰都能满足这些要求. Replica Set角色 Replica Set 的成员是一堆有着同样的数据内容 mongod 的实例集合,包含以下三类角色: 主节点

MongoDB复制集(实现选举复制、故障切换、升级oplog大小、认证复制)

什么是复制集? 复制集(replica sets)是额外的数据副本,是跨多个服务器同步数据的过程,复制集提供了冗余并增加了数据可用性,通过复制集可以对硬件故障和中断服务进行恢复. 复制集的优势 让数据更安全. 高数据可用性. 灾难恢复. 无停机维护(如备份.索引重建.故障转移) 读缩放(额外的副本读取) 副本集对应用程序是透明的. 复制集概述 MongoDB复制集是额外的数据副本,复制集提供了冗余和增加数据可用性. MongoDB的复制集至少需要两个节点,其中主节点负责处理客户端请求,从节点负责

MongoDB 复制集节点增加移除及节点属性配置

复制集(replica Set)或者副本集是MongoDB的核心高可用特性之一,它基于主节点的oplog日志持续传送到辅助节点,并重放得以实现主从节点一致.再结合心跳机制,当感知到主节点不可访问或宕机的情形下,辅助节点通过选举机制来从剩余的辅助节点中推选一个新的主节点从而实现自动切换.对于一个已经存在的MongoDB Replica Set集群,可以对其进行节点的增加,删除,以及修改节点属性等等.本文即是围绕这些进行描述. 有关MongoDB复制集概念及其搭建,可以参考:MongoDB 复制集(