mongodb主从,副本集,分片的理解_xiaomin_____的博客-程序员ITS203

 MongoDb在用于生产环境的三种模式,master/slaves(主从模式);replcation副本集;auto shard 分片模式

 

   在早期的系统设计中,主从模式是比较流行的,将读写分离,在不同的DB上操作,可以有效降低数据库的压力,而且还能实现数据的备份,但是在master节点故障的时候,不能及时的自动的切换到slaves节点,需要手动干预,这个是硬伤

 

   目前在Mongodb的官方说法中已经不推荐使用master/slave/模式,推荐使用副本集模式,应为该模式不但实现了主从模式的读写分离,而且有自己的一套选举机制,能通过自己的算法,选举出当前最优的节点作为活跃节点,一旦活跃节点宕机,选举出来的新的节点将成为活跃节点对外提供服务,其他节点则继续作为复制节点,当原先的活跃节点恢复,会自动作为非活跃节点(备份节点)存在。

 这种模式的最大优点在于Mongodb的自动选举活跃节点的机制,不需要手动干预便可以实现活跃与非活跃的切换,但是它由于数据没有shard,每个节点都是一个完成的备份,则不能使用MongoDb的分布式计算功能,当然,也可以通过程序自己来实现(成本很高),所以就有了Auto shard模式

 

   利用Mongo的分片,可以将数据自动的分解成多个块,存储在不同的节点上,每个被差分的块都有三个副本集,这样是为了数据备份和恢复,而且数据分片以后,可以利用多台廉价的存储和CPU的计算构建一个水平可扩展的计算架构,这就是我们的分布式计算

 

   目前在单台Mongodb上做MapReduce,速度还是比较慢的,但是如果数据分散在多台机器上,利用多太机器建立一个计算集群,计算速度估计会线性增长。

 

 

http://chenhua-1984.iteye.com/blog/2158526

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xiaomin1991222/article/details/50981143

智能推荐

微信小程序与微信公众号同一用户登录问题_powerfuler的博客-程序员ITS203_公众号小程序openid

微信小程序与微信公众号同一用户登录问题最近在做微信小程序与微信公众号登录合并的接口。整理相关资料以及个人认识的心得写了这篇文章与大家一起分享。首先,简单说下我遇到的问题是我们的程序调用微信小程序得到openid,然后通过openID得到用户的唯一标识,用户得以登录,然而,当我们调用微信公众号也同样的到openid,同一以用户两个不同的openid,不能区分是否为同一用户,然

牛客练习赛52 BGalahad 树状数组_Pikachu_Yj的博客-程序员ITS203

传送门题意: 求一个区间的和,但如果某一个数在这个区间出现了多次,这个数只能被计算一次。官方题解:按右端点从小到大排序。建立树状数组ccc,维护贡献的前缀和。由于权值ai 满足1≤ai≤500000,所以不用离散化,直接维护 last[ a[i] ] 表示元素 a[i] 上一次出现的位置。设当前更新到的位置为t 。如果ai没有出现过,即last[ai]=0,则不产生影响;否...

Qt信号和槽机制_lsfreeing的博客-程序员ITS203

一个小例子一个实际例子带有默认参数的信号和槽信号和槽的进一步使用和第三方库信号槽使用Qt一个小例子一个小的C++类声明如下: class Counter { public: Counter() { m_value = 0; } int value() const { return m_value; } void setValue(int value)

Unity3D 动画回调方法_七大黍的博客-程序员ITS203

欢迎来到unity学习、unity培训、unity企业培训教育专区,这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,【狗刨学习网】unity极致学院,致力于打造业内unity3d培训、学习第一品牌。最近发现很多coder.在用Unity开发游戏的时候都需要一个需求就是..动画播到某一帧就要干什么事情.而且希望能得到回调.在unity里面的window菜

MySQL-Connector-ODBC免安装版本的配置和使用_晓琴儿的博客-程序员ITS203_mysql-connector-odbc

0x00 ODBC介绍ODBC(Open Database Connectivity,开发式数据库连接)是微软公司为应用程序访问关系型数据库时提供的一组标准接口规范。ODBC对不同的关系型数据库提供了统一的API,使用该API来访问任何提供了ODBC驱动程序的数据库。0x01 mysql-connector-odbc的下载MySQL官网:下载Connector/ODBC我选用的是免安装版本,安装版本直接下一步安装即可。0x02 mysql-conne...

web服务器是什么?web服务器有哪些_LuHai3005151872的博客-程序员ITS203

web服务器是什么?web服务器一般指网站服务器,也称为WWW服务器,是目前 Internet 上最重要的服务,它采用 C/S 结构web服务器的作用就是向浏览器等Web客户端提供文档,放置网站文件,让可以访问网络的用户都可以进行访问,也可以放置文档让用户下载。web服务器有哪些?常见的Web 服务器有MicrosoftInternet Information Service(IIS)、Apache、Netscape Web Server 等。访问和获取 WWW 信息的程序是客户机,通常称为浏览器,如

随便推点

linux部署web App_我有颗小粒的痣的博客-程序员ITS203

服务器阿里云服务器Apache tomcat只能在官网下载tar.gz文件详见:https://blog.csdn.net/jenyzhang/article/details/70159769注意事项:openJDK的安装目录:/usr/lib/jvm/java-8-openjdk-amd64根据

CSP认证 中间数 (C++)_Absorbent的博客-程序员ITS203

问题描述试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   在一个整数序列a1,a2, …,an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。   给定...

Rails3.2使用mongoDB学习笔记之mongoid_hotsunshine的博客-程序员ITS203

前段时间写过一个mongo_mapper的demo程序,在写那个测试程序的时候,看见很多人都说mongoid更好,于是打算用一下试试,写了好久了,最近公司比较忙,没时间整理,现在贴出来。新建项目[code="ruby"]rails new spec_mongoid[/code]一、mongonid 官方首页[url]http://mongoid.org/[/url]...

interface学习_狮子QH的博客-程序员ITS203

interface的应用场景(1)类型转换(2)实现多态1、底层分析golang中的接口分为带方法的接口和空接口。带方法的接口在底层用iface表示,空接口的底层则是eface表示。下面我们透过底层分别看一下这两种类型的接口原理。以下是接口的原型://runtime/runtime2.go//非空接口type iface struct { tab *itab data unsafe.Pointer}type itab struct { inter *int

SHOW PROFILE参数_kf_panda的博客-程序员ITS203

SHOW PROFILE [type [, type] ... ]    [FOR QUERY n]    [LIMIT row_count [OFFSET offset]]type:    ALL - displays all information    BLOCK IO - displays counts for block input and output op

推荐文章

热门文章

相关标签