我计划将数据存储到基于沙发的集群中。
我想知道如果我的沙发底座在以下情况下发生故障会发生什么:[考虑没有发生的活动交易]
- 一个节点从集群中掉线。(我的假设是在节点修复并启动后,它将与其他节点同步,并且数据会在那里)。另外,请告诉我它同步后是否还会丢失任何数据?
- 集群出现故障并已修复并重新启动。
请让我知道上述场景的数据持久性类比。
我计划将数据存储到基于沙发的集群中。
我想知道如果我的沙发底座在以下情况下发生故障会发生什么:[考虑没有发生的活动交易]
请让我知道上述场景的数据持久性类比。
是的,Couchbase 将数据持久化到磁盘。它将更改操作写入数据服务节点上的仅附加文件。
对于您的两种情况,数据丢失的可能性不大,因为没有活动事务。
如果节点发生故障,可能会发生数据丢失
同时将更改持久保存到磁盘或
如果存储桶支持副本,则在完成复制到另一个节点之前。
示例:具有复制的三节点集群
考虑一个三节点 Couchbase 集群和一个存储桶,每个文档都有一个副本。这意味着单个文档将在两个单独的节点上存储一个副本,称为活动副本和副本副本。Couchbase 将在节点之间公平地分片文档。
当一个节点出现故障时,大约三分之一的活动副本和副本副本变得不可用。
A. 如果添加了一个全新的节点并重新平衡了集群,那么新节点将具有与旧节点相同的活动副本和副本。如果节点失败时复制不完整,则会发生数据丢失。
B. 如果节点故障转移,则故障节点上活动文档的副本将变为活动状态。如果节点失败时复制不完整,则会发生数据丢失。
C. 如果故障节点重新加入集群,它可以重用其现有数据,因此唯一的数据丢失是由于无法将更改写入磁盘。
当集群宕机时,如果出现磁盘故障,可能会导致数据丢失。