gpt4 book ai didi

mongodb - Mongo block 上的内联映射/减少吗?

转载 作者:可可西里 更新时间:2023-11-01 09:32:19 26 4
gpt4 key购买 nike

我知道因为 map/reduce 写入集合需要获取全局写锁,但是如果我将输出设置为内联,这不是写入内存吗?它似乎仍然在抢锁。这对 Mongo 2.0 来说可能是正常的吗?

最佳答案

使用内联模式,输出基本上作为单个文档返回,将您限制为最大文档大小,因此您可能会看到行为或响应时间的差异,因为您返回了更大的结果?

在锁定方面,Map/Reduce 作业可以被认为是许多更小的操作(包括写入)。

首先,有一个javascript锁,这样在一个时间点只有一个线程可以执行JS代码,所以是单线程的,至少目前是这样。但是 MR 的大多数 JS 步骤(例如单个 map())都非常短,因此经常产生锁。

还有一些 MapReduce 执行的非 JavaScript 操作需要锁:

  • 它从集合中读取(每 100 个文档产生读取锁)
  • 它向临时集合中插入文档(单次写锁定)
  • 创建最终集合或合并或替换现有集合(写锁)

您的内联模式通过将其作为内存映射删除了后两个,因此您不应该看到写锁,至少对于这项工作而言是这样。锁定可能是因为 JS 操作或读取而不是写入?

关于mongodb - Mongo block 上的内联映射/减少吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9825635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com