我想在couchbase文档中保存多个Employee对象,但是在使用情况时会遇到什么困扰,我有一个大小为5的List对象。
假设当它在couchbase文档中保存了3个带有3个文件的对象时,有些沙发基础服务器如何在保存其余2个文件的情况下关闭,在这种情况下会发生什么。
1)我保存的所有文件是否都被回滚?
2)是否还会保留另外2份文件。?
3)如果不是两者,这个用例的推荐选项是什么。??
答案 0 :(得分:0)
Couchbase Server不支持多文档事务或回滚。
因此,也不会发生。
如果您需要此类交易保证,则必须使用支持它们的数据库产品或自行实施。
使用非事务性存储的典型方法是,不依赖于一致性。例如,通过使用幂等操作,即在失败的情况下,您可以重做操作。
在特定示例中,您可能首先将5个文档存储为单个文档,然后在单独的进程中将其拆分。第一个写操作受事务保护,第二个过程可以重复,直到成功为止。
答案 1 :(得分:0)
添加到@ jens-schauder的答案: 如果Couchbase群集中至少有3个节点,则不应发生此问题。 假设一个节点发生故障,集群将自动故障转移该节点掌握的数据(1/3数据)到其他2个节点,因此写入将无缝地工作。