Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb mongo写锁行为_Mongodb_Locking_Pymongo - Fatal编程技术网

Mongodb mongo写锁行为

Mongodb mongo写锁行为,mongodb,locking,pymongo,Mongodb,Locking,Pymongo,我有一个关于mongo锁的问题。基本上,我必须对表执行一些写操作(插入/删除/更新)。当我读到这个链接时。它说“锁是“写器贪婪的”,当一个写锁存在时,一个写操作独占地持有锁,并且没有其他读或写操作可以共享锁 我的问题是——锁是基于内存块的,或者我们在整个数据库上有一个锁。我想的是同时运行两个脚本扫描mongodb的两个内存块(计划在一个查询中扫描200万个文档),并并行执行写操作,从而提高性能并节省时间 我在网上搜索了这件事,但没有找到任何令人满意的 任何帮助都将不胜感激写锁与内存无关,Mong

我有一个关于mongo锁的问题。基本上,我必须对表执行一些写操作(插入/删除/更新)。当我读到这个链接时。它说“锁是“写器贪婪的”,当一个写锁存在时,一个写操作独占地持有锁,并且没有其他读或写操作可以共享锁

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

我在网上搜索了这件事,但没有找到任何令人满意的


任何帮助都将不胜感激

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


写锁也在数据库级别,因此您的计划不可行。

作为Sammaye观点的补充,如果您的应用程序将非常重于写(例如,存储日志),仅拥有多个数据库可能很有用。然后,您可以在每个数据库上同时运行一个脚本。@L虽然我想强调的是,只有在最高的写入情况下,我才看到多个数据库的帮助,但由于MongoDB的性质,它需要大量的写入。