mongodb - 在MongoDB之上,可以实现多版本并发控制( MVCC )?

  显示原文与译文双语对照的内容
112 1

MongoDB对我来说是一个伟大的数据库。 但是在某些情况下,我确实需要原子多文档。 例如在帐户之间传输( 比如金钱或者声誉),这需要完全成功或者完全失败。

不知道是否可以通过实现MultiVersion并发控制 Pattern的库与MongoDB交互。

对性能有多不利? 使用混合方法是可以能的,只有在必要时才使用'mongo MVCC'库,仅在单个文档中使用。

时间: 原作者:

130 1

最简单的方法是使用锁( 两个阶段提交),尽管在某些情况下这不是非常有效。 为了提高并发性,可以在Mongo的顶部实现某种类型的MVCC 。 本文提供了一个很好的描述:

http://highlyscalable.wordpress.com/2012/01/07/mvcc-transactions-key-value/

原作者:
81 5

货币交易可以通过两个阶段提交实现: http://www.mongodb.org/display/DOCS/two-phase+commit

原作者:
50 0

现在在GitHub上有一个关于MongoDB的实现的实现:

https://github.com/igd-geo/mongomvcc

115 2

MongoDB并不是真正设计用来处理事务的。 有一个非常好的讨论,你可以如何在以下方面实现这一点: http://kylebanker.com/blog/2010/04/30/mongodb-and-ecommerce/

106 2

当你需要实际事务时,使用的是用来支持它们的NoSQLs: 主要是因为它们不支持事务。

如果你需要这两者,那么有一个好主意来支持事务层以支持事务和 NoSQL 层? 在某些情况下,创建一个类似于MongoDB和PostgreSQL的混合系统是不困难

原作者:
...