Couchbase 1 -> 2 迁移。备份获取和一致性检查
Couchbase 1 -> 2 migration. Backups obtaining and consistency check
鉴于: 一个使用 Couchbase 1 的旧 Java 项目。它在运行时备份方面存在很大问题。简单的复制文件和 cbbackup 方式都不起作用。获得的备份已损坏,Couchbase 无法从它们开始。获取数据快照的唯一方法是相对较长的应用程序关闭。
现在,我们正在迁移到 Couchbase 2+。 cbbackup
失败并显示如下内容( 对我来说毫无意义,Couchbase 1 中没有任何设计文档):
/pools/default/buckets/default/ddocs; reason: provide_design done
但是,如果我们使用生成的文件,Couchbase 似乎会唤醒并正常工作。
问题 1:对整个损坏的备份情况有什么见解和帮助吗?
问题 2:至少,在我们的案例中,我们如何确保新数据库备份的一致性?
(通过客户端为所有文档和字段编写一个巨大的检查包是非常昂贵的,也是最后的选择。)
感谢任何帮助,这是团队的模糊遗留基础设施,谷歌搜索和 Couchbase 文档对我们帮助不大。
Question 1: Any insights and help with the whole spoiled backups' situation?
Couchbase 1.x 使用 SQlite 作为磁盘格式(每个 Bucket IIRC 共享 4 个文件),这在规模上存在许多问题。
Couchbase 2 中的一个主要变化是转向自定义的仅附加文件格式 (couchstore),这种文件格式不太容易受到任何损坏问题的影响(因为一旦写入,一个块就永远不会被修改),直到新的压缩文件稍后由自动化作业创建。
How, at least, we could assure a consistency of the new database backups in our case? (Writing a huge check pack for all docs and fields through the client is very expensive and the last option.)
如果你想检查备份的一致性,你需要按照你提到的方式做一些事情。
但是请注意,如果您正在备份实时系统(就像大多数人一样),那么实时系统可能在进行备份和比较时发生了变化。
最后,我建议您查看 Couchbase 网站上的 1.8.x to 2.0 Upgrade Guide。请注意,2.x 现在已经很旧了(3.x 是写作时的最新版本,4.0 处于测试阶段)因此 2.0 文档位于网站的存档部分。
鉴于: 一个使用 Couchbase 1 的旧 Java 项目。它在运行时备份方面存在很大问题。简单的复制文件和 cbbackup 方式都不起作用。获得的备份已损坏,Couchbase 无法从它们开始。获取数据快照的唯一方法是相对较长的应用程序关闭。
现在,我们正在迁移到 Couchbase 2+。 cbbackup
失败并显示如下内容( 对我来说毫无意义,Couchbase 1 中没有任何设计文档):
/pools/default/buckets/default/ddocs; reason: provide_design done
但是,如果我们使用生成的文件,Couchbase 似乎会唤醒并正常工作。
问题 1:对整个损坏的备份情况有什么见解和帮助吗?
问题 2:至少,在我们的案例中,我们如何确保新数据库备份的一致性? (通过客户端为所有文档和字段编写一个巨大的检查包是非常昂贵的,也是最后的选择。)
感谢任何帮助,这是团队的模糊遗留基础设施,谷歌搜索和 Couchbase 文档对我们帮助不大。
Question 1: Any insights and help with the whole spoiled backups' situation?
Couchbase 1.x 使用 SQlite 作为磁盘格式(每个 Bucket IIRC 共享 4 个文件),这在规模上存在许多问题。
Couchbase 2 中的一个主要变化是转向自定义的仅附加文件格式 (couchstore),这种文件格式不太容易受到任何损坏问题的影响(因为一旦写入,一个块就永远不会被修改),直到新的压缩文件稍后由自动化作业创建。
How, at least, we could assure a consistency of the new database backups in our case? (Writing a huge check pack for all docs and fields through the client is very expensive and the last option.)
如果你想检查备份的一致性,你需要按照你提到的方式做一些事情。
但是请注意,如果您正在备份实时系统(就像大多数人一样),那么实时系统可能在进行备份和比较时发生了变化。
最后,我建议您查看 Couchbase 网站上的 1.8.x to 2.0 Upgrade Guide。请注意,2.x 现在已经很旧了(3.x 是写作时的最新版本,4.0 处于测试阶段)因此 2.0 文档位于网站的存档部分。