我们如何在couchbase中以事务方式更新文档?

Shi*_*nsh 1 transactional distributed-transactions couchbase couchbase-java-api

我有一个用例,其中有三个文档,我想以事务方式更新它们,即如果其中任何一个失败,那么其他文档也不应该在数据库中更新.我正在寻找一个选项但在JavaSDK中找不到.那么我有什么方法可以在事务上执行此操作.我使用CAS值来处理并发.请给我一个同时处理此操作的方法.

Couchbase版本:4.0 Java SDK:2.1.6

任何帮助表示赞赏.

Sim*_*slé 5

Couchbase是一个NoSQL数据库,在传统RDBMS的ACID属性与性能和可伸缩性之间存在权衡.

couchbase可以执行的唯一原子性是单个文档的级别.

网上可能会有关于如何使用Couchbase实现交易系统的文章,但这显然不是设计支持的现成技术.我不推荐这是一项非常复杂的工作.

首先尝试以不同方式对文档进行建模,以便可以在单个文档上进行变异(然后可以使用CAS).