MongoDB架构

MongoDB逻辑结构

在这里插入图片描述
MongoDB与MySQL中的架构差不多,底层都使用了可插拔的存储引擎以满足不同的用户需求,用户可以根据自己所需要的特性来选择不同存储引擎。在最新版本的MongoDB中使用了WiredTiger作为默认的存储引擎,WiredTiger提供了不同粒度的并发控制和压缩机制,能为不同的应用提供更好的性能和存储率。

MongoDB的数据模型

内嵌
内嵌的方式是指,一个文档嵌入到另外一个文档中,MongoDB中允许一个字段或者数组中的值为一个对象。
引用
通过引用的方式来存储对象之间的关联,类似与MySql中的外键,应用程序可以在解析的时候访问到这些关联起来的对象。

如何选择数据模型

选择内嵌

  1. 数据对象之间有包含关系,通常是一对多或者一对一的关系。
  2. 读取的时候需要一起读取
  3. 有map-reduce或者aggregation需求的时候,因为这些操作一次只能操作一个collection

选择引用

  1. 当内嵌的数据会造成大量的重复,并且读取的性能优势不足以掩盖数据重复的弊端
  2. 需要表达比较复杂的关联关系
  3. 有比较深层的嵌套的时候,内嵌不能满足需求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值