mongodb相关概念总结(2)

 mongodb一个神奇的nosql数据库,特此总结一下mongodb的主从、副本集、分片的相关概念和原理。


一、MongoDB的主从复制


 主从复制是MongoDB最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。

最基本的设置方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。运行

mongod --master就启动了主服务器。运行mongod --slave --sourcemaster_address 则启动了从服务器,

其中master_address就是上面主节点的地址。

 

  为了方便演示,可以在一台计算机上来模拟主节点和从节点。在D盘创建两个目录master和slave,

master目录作为主节点的数据文件的目录,slave目录作为从节点的数据文件的目录。

注意:主节点和从节点要指定不同的端口。

启动主节点:mongod --dbpathd:\master --port 10000 --master

启动从节点:mongod --dbpathd:\slave --port 10001 --slave --source localhost:10000

启动成功后就可以连接主节点进行操作了,而这些操作会同步到从节点。


二、MongoDB的副本集


 副本集就是有自动故障恢复功能的主从集群。

 主从集群和副本集最大的区别就是副本集没有固定的“主节点”;整个集群会选出一个“主节点”,

当其挂掉后,又在剩下的从节点中选中其他节点为“主节点”,副本集总有一个活跃点(primary)和

一个或多个备份节点(secondary)。

1、MongoDB副本集的好处:

·        保障数据的安全性

·        数据高可用性 (24*7)

·        灾难恢复

·        无需停机维护(如备份,重建索引,压缩)

·        分布式读取数据

2、MongoDB副本集的特征:

·        N 个节点的集群

·        任何节点可作为主节点

·        所有写入操作都在主节点上

·        自动故障转移

·        自动恢复


三、MongoDB的分片(分布式存储)


为什么使用分片:  

·        复制所有的写入操作到主节点

·        延迟的敏感数据会在主节点查询

·        单个副本集限制在12个节点

·        当请求量巨大时会出现内存不足。

·        本地磁盘不足

·        垂直扩展价格昂贵

 分片(sharding)是指将数据拆分,将其分散存在不同的机器上的过程。有时也用分区(partitioning)

来表示这个概念。将数据分散到不同的机器上,不需要功能强大的大型计算机就可以储存更多的数据,处

理更多的负载。

 MongoDB分片的基本思想就是将集合切分成小块。这些块分散到若干片里面,每个片只负责总如

果请求有了回应,路由器将其收集起来回送给应用。数据的一部分。应用程序不必知道哪片对应哪些数据,

甚至不需要知道数据已经被拆分了,所以在分片之前要运行一个路由进程,该进程名为mongos。这个路

由器知道所有数据的存放位置,所以应用可以连接它来正常发送请求。对应用来说,它仅知道连接了一个

普通的mongod。路由器知道数据和片的对应关系,能够转发请求到正确的片上。设置分片时,需要从集

合里面选一个键,用该键的值作为数据拆分的依据。这个键称为片键(shardkey)。

{name:"zhangsan",age:1}

用个例子来说明这个过程:假设有个文档集合表示的是人员。如果选择名字("name")作为片键,第一片可

能会存放名字以A~F开头的文档,第二片存的G~P的名字,第三片存的Q~Z的名字。随着添加或者删除片,

MongoDB会重新平衡数据,使每片的流量都比较均衡,数据量也在合理范围内。

 

  这一天的学习效率特低,工作是比较清闲,但感觉什么都没干,就抽空总结了一些概念,

路漫漫其修远兮........ 愿明天更努力的学习........

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值