MongoDB文档翻译-Map Reduce的并发

英文原文地址:https://docs.mongodb.com/v3.2/core/map-reduce-concurrency/
本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。

Map-Reduce的并发

map-reduce由很多任务组成,包括从输入集合读取数据,执行map函数,然后执行reduce函数,处理过程中写入到临时集合,写入到输出集合。

在操作中,map-reduce使用以下几种锁:

  • 读阶段使用读锁。每次产生100个文档。
  • 插入到临时集合时,对单个写操作使用写锁。
  • 如果输出集合不存在,创建输出集合的操作采用写锁。
  • 如果输出集合已存在,输出动作(合并、替换、归约)采用写锁。这个写锁是全局的,阻塞在mongod实例上的所有操作。

注意:

在后处理过程中,最终的写锁使得结果看起来是原子的。然而,输出操作merge和reduce可能需要几分钟。对于merge和reduce,可以使用nonAtomic标志,在写入每个输出文档之间释放锁。更多信息请查看db.collection.mapReduce()参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值