couchbase 是否持久化数据?

Does couchbase persist data?

我打算将数据存储到 couch-base 集群中。

我想知道如果我的沙发底座在以下情况下倒塌会怎样: [考虑没有发生活跃的交易]

  1. 一个节点从集群中挂掉了。(我的假设是节点固定并启动后,它会与其他节点同步,并且数据会在那里)。另外请问同步后还会有数据丢失吗?
  2. 集群宕机并修复并重新启动。

请让我知道上述场景的数据持久性类比。

是的,Couchbase 将数据保存到磁盘。它将更改操作写入数据服务节点上的仅附加文件。

您的两种情况不太可能丢失数据,因为没有活动事务。

如果节点出现故障,可能会发生数据丢失

  • 同时将更改保存到磁盘或

  • 如果存储桶支持副本,则在完成到另一个节点的复制之前。

示例:带复制的三节点集群

考虑一个三节点 Couchbase 集群和一个每个文档都有一个副本的存储桶的情况。这意味着单个文档将在两个单独的节点上存储一个副本,称为活动副本和副本副本。 Couchbase 将在节点之间公平地分片文档。

  1. 当一个节点出现故障时,大约三分之一的活动副本和副本将变得不可用。

    一个。如果添加一个全新的节点并重新平衡集群,新节点将具有与旧节点相同的活动副本和副本。如果节点故障时复制不完整,将导致数据丢失。

    乙。如果节点发生故障转移,则故障节点上活动文档的副本将变为活动状态。如果节点故障时复制不完整,将导致数据丢失。

    C。如果故障节点重新加入集群,它可以重用其现有数据,因此唯一的数据丢失将是由于无法将更改写入磁盘。

  2. 集群宕机时,如果出现磁盘故障,可能会丢失数据。