我有一个用例,其中有三个文档,我想以事务方式更新它们,即如果其中任何一个失败,那么其他也不应该在数据库中更新。我一直在寻找一个选项,但在 JavaSDK 中没有找到。那么有什么方法可以让我以事务方式执行此操作。我正在使用 CAS 值来处理并发。请为我提供一种同时处理此操作的方法。
Couchbase 版本:4.0 Java SDK:2.1.6
任何帮助表示赞赏。!
我有一个用例,其中有三个文档,我想以事务方式更新它们,即如果其中任何一个失败,那么其他也不应该在数据库中更新。我一直在寻找一个选项,但在 JavaSDK 中没有找到。那么有什么方法可以让我以事务方式执行此操作。我正在使用 CAS 值来处理并发。请为我提供一种同时处理此操作的方法。
Couchbase 版本:4.0 Java SDK:2.1.6
任何帮助表示赞赏。!
Couchbase 是一个 NoSQL 数据库,在传统 RDBMS 的 ACID 属性与性能和可扩展性之间存在折衷。
couchbase 可以强制执行的唯一原子性是在单个文档的级别。
网络上可能有关于如何使用 Couchbase 实现事务系统的文章,但这显然不是设计支持的现成的东西。这是一项非常复杂的工作,我不建议这样做。
首先尝试对您的文档进行不同的建模,以便突变可以发生在单个文档上(然后可以使用 CAS)。
这个文档(来自couchbase)似乎相关: 提供事务逻辑
Couchbase 现在在 Couchbase Server 6.5 的 beta 版本中支持完整的 ACID 分发事务。有关更多详细信息和文档链接,请参阅此博客文章。