mongodb数据合并设计_MongoDB的设计规范

MongoDB目前核心优势

『灵活模式』+ 『高可用性』 + 『可扩展性』

通过json文档来实现灵活模式

通过复制集来保证高可用

通过Sharded cluster来保证可扩展性

BSON

1.在JSON中,要跳过一个文档进行数据读取,需要对此文档进行扫描才行,需要进行麻烦的数据结构匹配,遍历比较慢

BSON针对JSON的一大改进就是将JSON的每一个元素的长度存在元素的头部,这样你只需要读取到元素长度就能直接seek到指定的点上进行读取了。

2.MongoDB优化:

(1) 由于内存与数据文件的映射

(2) 在更新或者获取Document的某一个字段时,如果需要先读取其前面的所有字段,会导致物理内存由于读操作被加载到不必要的字段上,导致资源的不合理分配。

(3) 而采用BSON只需要读到相应的位置然后跨过无用内容读取需要内容即可。

3. MongoDB=JSON + Indexes

MongoDB支持json格式的文档进行bson优化

和关系型数据库对比

参数参考

架构

1.复制集和主从

强烈建议使用副本集模式(哪怕是单机副本集)

启用副本集在参数中添加:

sharding:

#configsvr or shardsvr

clusterRole: shardsvr

方便未来使之成为集群环境

2. 集群

(1) 分片适用场景

a. 服务器磁盘不够用

b.单个mongod不能满足日益频繁写请求

c.将大量数据存放于内存中提高性能

比如,如下集合

(2) 集群架构

Mongodb不适用场景

高度事务性系统,比如银行系统。传统的关系型数据库眼下还是更适用于大量原子性复杂事务的应用程序;

商业智能应用,针对特定问题BI,产生高度优化的查询方式,对于此类应用,数据仓库可能是更合适的选择;

复杂的跨表级联查询(多表join)。

MongoDB适用场景

非事务并且关联性集合不

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值