MongoDB对我来说是一个很棒的数据库。但是,在某些情况下,我确实需要原子多文档事务。例如,要在帐户之间转移东西(如金钱或声誉),这需要要么完全成功,要么完全失败。
我想知道是否可以通过实现MultiVersion并发控制模式的库与MongoDB进行交互。
在性能方面会有多糟糕?是否可以使用一种混合方法,仅在必要时使用'mongo- mvcc‘库,而在仅处理单个文档时使用传统的db连接,或者这会打破mvcc的内容吗?
发布于 2012-01-08 00:20:33
最简单的方法是使用锁(两阶段提交),尽管这在某些情况下效率不是很高。为了获得更高的并发性,可以在Mongo之上实现某种MVCC。本文提供了一个很好的描述:
http://highlyscalable.wordpress.com/2012/01/07/mvcc-transactions-key-value/
发布于 2011-07-05 04:23:18
货币交易可以通过两阶段提交来实现:http://www.mongodb.org/display/DOCS/two-phase+commit
发布于 2012-03-29 19:06:33
现在GitHub上有一个在MongoDB上实现的MVCC:
https://stackoverflow.com/questions/5984873
复制相似问题