Couchbase 1 - > 2迁移。备份获取和一致性检查

时间:2015-08-20 10:01:11

标签: java web-applications couchbase database-migration database-backups

鉴于:使用Couchbase的旧Java项目1.运行时备份存在很大问题。两者,简单的复制文件和cbbackup方式都不起作用。获得的备份已损坏,Couchbase无法启动它们。获取数据快照的唯一方法是相对较长的应用程序关闭。

现在,我们正在迁移到Couchbase 2+。 cbbackup失败了这样的事情(对我来说毫无意义的消息,Couchbase 1中没有任何设计文档):

  

/池/默认/桶/默认/ ddocs;原因:provide_design完成

但是,如果我们使用生成的文件,Couchbase似乎醒来并正常工作。

问题1:有关整个被破坏的备份情况的任何见解和帮助吗?

问题2:在我们的案例中,至少如何确保新数据库备份的一致性? (通过客户端为所有文档和字段编写一个巨大的检查包是非常昂贵的,也是最后一个选项。

我感谢任何帮助,这对团队来说是一个模糊的遗留基础设施,谷歌搜索和Couchbase文档对我们没有多大帮助。

1 个答案:

答案 0 :(得分:1)

  

问题1:有关整个被破坏的备份情况的任何见解和帮助吗?

Couchbase 1.x使用SQlite作为磁盘格式(每个Bucket IIRC共享4个文件),这有很多大问题。

Couchbase 2的一个主要变化是转移到自定义仅附加文件格式(couchstore),它更不容易受到任何损坏问题的影响(因为一旦写入块永远不会被修改),直到新的压缩稍后由自动作业创建文件。

  

至少,在我们的案例中,我们如何确保新数据库备份的一致性? (通过客户端为所有文档和字段编写一个巨大的支票包是非常昂贵的,也是最后一个选项。)

如果你想检查备份的一致性,你需要按照你提到的内容做一些事情。

但请注意,如果您要备份实时系统(与大多数人一样),那么实时系统可能会在备份和比较之间发生变化。

最后,我建议查看Couchbase网站上的1.8.x to 2.0 Upgrade Guide。请注意2.x现在已经很老了(3.x是写作时的最新版本,4.0是测试版)因此2.0文档位于网站的存档部分。

相关问题