背景:
我已经看到很多关于NoSQL面向文档的数据库的事务支持的材料。据我所知,基本上没有本地事务支持来确保更新多个文档,并且需要事务更新可能是文档模型可以重构为单个文档的有力证据。但是,可能存在一些特殊情况,例如,传统的银行转帐方案,建议使用两阶段提交来实施。
我的问题:
我注意到Couchbase文档总是有一个关于“提供事务逻辑 - 执行两阶段提交”的专门章节。自version 1.8到version 3.x以来,这一问题的解释方式相同。 但是,在版本4文档(4.0和4.1 DP)上,此主题消失了,我找不到任何与事务逻辑相关的内容。
是否有人了解提议的任何更改或即将推出的事务支持新功能?
随着N1QL的引入,这可能是可行的,特别是考虑到N1QL提供DML操作。但是关于DML操作的文档基本上不存在,如4.0 docs所述:
注意:
DML语句在Couchbase Server 4.0中是测试版。
答案 0 :(得分:2)
从Couchbase Server 6.5(在我撰写本文时为Beta版)开始,Couchbase可以代表应用atomically modify more than one document in a transaction。
许多较旧的建议仍然有效,并且在当前文档中已有新的更新。虽然它早于6.5交易支持,但ACID Properties with Couchbase上有一个很棒的博客系列,其中讨论了一些注意事项和权衡取舍。
答案 1 :(得分:1)
使用Couchbase 4.0和N1QL,它在这方面没有变化。我无法推测何时/是否将此功能添加到N1QL。
顺便说一句,在即将推出的即将发布的4.1版本中,在Couchbase中使用带有N1QL的DML将被设置为GA。