如何转储membase db的内容以播种另一个集群

时间:2011-12-28 20:03:43

标签: membase

我正在使用3台计算机的membase 1.7.1服务器集群(仅限vbuckets),并且希望能够为整个集群发生故障的情况备份内容(可能不太可能)。

我定期从我的提供商处获取新数据;我想或多或少地无限期地保留旧数据,并添加新数据。想象一下葡萄酒评级应用程序。新葡萄酒一直都有,但我需要保留旧葡萄酒。

目前,我有一个执行以下操作的流程:

  • 从第三方提供商处下载一些数据
  • 将数据推送到我的vbucket;一些旧数据可能会被覆盖,一些数据将是新的
  • 挂出直到下一次数据更新;其他流程将读取数据

我想做的是:

  1. 查看我的存储桶中是否有任何数据
  2. 如果没有,请从离线存储装入(参见步骤5)
  3. 从第三方提供商处下载一些数据
  4. 将数据推送到我的vbucket;一些旧数据可能会被覆盖,一些数据将是新的
  5. 将所有数据转储到离线存储空间
  6. 挂出直到下一次数据更新;其他流程将读取数据
  7. 步骤1,2,5是新的。

    所以问题是第5步。 TAP协议是一个很好的方法来转储我的membase桶的内容吗?它会干扰读者吗?

1 个答案:

答案 0 :(得分:0)

membase文档建议使用mbbackup工具进行备份,该工具可以从应用程序外部的命令行手动调用。转储的数据可以通过mbrestore恢复。 mbrestore的目标可以是一个与您运行mbbackup的原始集群不同的集群。

参考:http://www.couchbase.org/wiki/display/membase/Membase+Server+version+1.7.1+and+up

如果您使用的是AWS,则可以在EBS上运行membase,并可选择定期将EBS卷快照到Amazon S3。

参考:http://couchbase.org/forums/thread/correct-way-back-aws-membase-ebs