couchbase是否会保留数据?

时间:2017-08-07 22:56:21

标签: couchbase spring-data-couchbase couchbase-java-api

我打算将数据存储到基于沙发的群集中。

我想知道如果我的沙发基座因以下情况而停机会发生什么: [考虑到没有发生活跃的交易]

  1. 节点从群集中断开。(我的假设是在节点修复并且启动后,它将与其他节点同步,数据将在那里)。另外,让我知道在它同步之后还会有任何数据丢失吗?
  2. 群集已关闭并已修复并重新启动。
  3. 请告诉我上述情况的数据持久性类比。

1 个答案:

答案 0 :(得分:2)

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

您的两种情况不太可能导致数据丢失,因为没有活动的交易。

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

  • 持续更改磁盘或

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

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

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

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

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

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

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

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