【发布时间】:2013-10-01 12:41:23
【问题描述】:
如果我们希望执行多个更新操作,在 MongoDB 中是原子的和隔离的,以便其他进程或线程在这些进程或线程正在处理时不会获取数据。我知道仅在文档级别支持原子性和隔离性这一事实,并且在数据库级别维护锁。在上述情况下,我有以下查询:
- 有没有一种方法可以单独、批量进行多次更新,因为“$isolated”不适用于集群,而且 findAndModify() 适用于单个文档?
- 如何进行并发控制来实现上述情况?
- 我们可以在这里使用两阶段提交,通过维护一个事务,它会以隔离的方式执行吗?
- 在探索时,我发现 MongoMVCC 用于多版本并发控制,如果有人使用过它,请分享您对上述用例的经验。
【问题讨论】:
-
我认为下面我的回答的 tl;dr 是,如果你想要 ACID,你需要 ACID 技术
标签: multithreading mongodb updates atomic transaction-isolation