【问题标题】:MongoDB. Transaction?MongoDB。交易?
【发布时间】:2015-12-09 01:52:08
【问题描述】:

我想知道 MongoDB 的多文档事务中是否有 ACID 保证。目前状态如何,现有材料相当陈旧。现在升级了什么?

我们如何模拟来证明它不能,如果它不能 OR 可以,如果它可以?

【问题讨论】:

    标签: mongodb transactions acid database


    【解决方案1】:

    MongoDB 将从 4.0 版本开始添加对多文档事务的支持,因此您将在多文档事务中获得 ACID 保证。 有关详细信息,请访问此链接:

    https://www.mongodb.com/blog/post/multi-document-transactions-in-mongodb?jmp=community

    【讨论】:

    • @anz,这已经成为现实(ACID 事务是在 4.0 版本中添加的)。考虑接受此作为帮助用户的答案
    【解决方案2】:

    要使多文档写入过程原子你可以使用$isolated Operator

    使用 $isolated 运算符,一旦写入操作修改了第一个文档,影响多个文档的写入操作可以防止其他进程交错。这样可以确保在写入操作完成或出错之前没有客户端看到更改。

    您可以为类似事务的语义执行Two Phase Commits。

    查看 MongoDB 3.2 documentation 了解更多详情。

    【讨论】:

    • 根据文档 - $isolated 运算符不适用于分片集群。 但没有找到关于 2 阶段提交的任何评论
    猜你喜欢
    • 2014-07-22
    • 2022-10-16
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    相关资源
    最近更新 更多