微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mongo

1.存储方式:虚拟内存+持久化,mongodb使用的是内存映射存储引擎,即Memory Mapped Storage Engine,简称MMAP,MMAP可以把磁盘文件的一部分或全部内容直接映射到内存,它将热数据存储在物理内存中,使得热数据的读写变得十分快。

2.扩展性,存储的数据格式是json格式,灵活的Schema

3.内置GridFS,海量存储。

4.副本集+分片sharding-------扩展性,高可用 

failover机制,失败选举。

分片(sharding)其实就是数据拆分,把数据分散在多个节点上,也就是水平拆分。MongoDB 支持自动分片,

 

 

不适用的场景 
1)MongoDB不支持事务操作,需要用到事务的应用建议不用MongoDB。 
2)MongoDB目前不支持join操作,需要复杂查询的应用也不建议使用MongoDB。

占用内存大

 

MOngo高可用

 

注意:脑裂过程中设置优先级没用。 1、删除节点至剩下1个或者3个节点,保持3个节点存活(此时mongo能正常选举出PRIMARY 。 ): config=rs.conf() config.members=[config.members[0],config.members[2],config.members[3]] rs.reconfig(config,{force:true}) (注意:"_id" : 4 并不是对应下标。members 对应的是数组的下标。从0开始。)   2、如果是删除至于剩下2个数据节点。切2个数据节点都是启动状态,此时PRIMARY已然会在2个节点之间飘浮。但2个节点还算可控,可以通过 rs.addArb("192.168.1.92:29121") 方式在主节点加入仲裁节点。   3、强制加入仲裁节点: config=rs.conf() config.members=[config.members[0],config.members[1]....(把所有需要加入的节点列出),{_id:5,host:"127.0.0.1:27023",priority:5,arbiterOnly:"true"}] rs.reconfig(config,{force:true})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐