mongodb在应用中注意问题

范式与反范式

范式化能够提供数据写入速度。反范式化能够提高数据读取速度。因此,在做设计应用时,需要在范式与反范式之间做权衡。
由于mongodb不支持join链接查询,因此mongodb中实现范式化是通过使用引用字段。多发送一次请求。
mongodb中的反范式化通过内嵌文档。

内嵌文档和引用文档的比较

更适合内嵌更适合引用
子文档较小子文档较大
数据不会定期改变数据经常改变
文档数据小幅增加文档数据大幅增加
快速读取快速写入

优化mongodb的数据操作

优化文档增长

当更新文档时,要预估是否更新会导致文档体积过大。如果增长程度是可预知的,可以为文档分配足够的空间(为文档分配一个大的超长内容,当插入成功后,再移除),避免文档进行移动。文档移动是非常慢的,MongoDb必须把原先所占的文档释放掉,然后将文档写入另一个空间。

删除旧数据

可以使用TTL集合

一致性管理

mongodb服务器为每一个链接维护一个请求队列。客户端每次发来的新请求都会加入到队列末尾。入队之后,这个链接上的队列会依次被处理。一个链接拥有一个一致性的试图。可以总是读取到这个链接写入的新数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值