mongodb - mongodb写锁行为

标签 mongodb locking pymongo

我有一个关于 mongo 锁的问题。基本上我必须对表执行一些写操作(插入/删除/更新)。当我阅读此链接时 Locking in Mongodb .它说“锁是‘写入者贪婪的’,当写锁存在时,单个写操作独占地持有锁,没有其他读或写操作可以共享锁。

我的问题是——锁是基于内存块的,或者我们对整个数据库只有一个锁。我的想法是同时运行 2 个脚本扫描 mongodb 的 2 个内存块(计划在一个查询中扫描 200 万个文档)并并排执行写入操作,从而提高性能并节省时间。

我在网上搜索了这方面的内容,但没有找到令人满意的内容。

任何帮助将不胜感激

最佳答案

写锁与内存无关,MongoDB不是内存数据库,操作系统只是将mongod进程的工作集缓存到内存中。 MongoDB 在其程序中没有内存 Hook 。

写锁也是数据库级别的,这样你的方案是不可行的。

关于mongodb - mongodb写锁行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614668/

相关文章:

python - 如何在Python脚本中编写查询

mongodb - 如何改进 MongoDB 中的地理空间查询

c# - DeleteManyAsync 会在删除文档时锁定 MongoDB 集合吗?

mongodb - 为什么 24 MB 的 CSV 数据在 MongoDB 集合中变成了 230 MB?

python - 锁定Python中的一段代码

mongodb - Pymongo ArrayFilters 更新多个子文档时出错

architecture - 何时使用 Redis?何时使用 MongoDB?

php - 从php中选择数据时,MySQL表被锁定多长时间?

java - 如何通过 key 获取锁

python - 如何在 python 中为 db.collection.group() 编写 mongodb 查询