当前位置:  开发笔记 > 运维 > 正文

CouchDB备份和克隆数据库

如何解决《CouchDB备份和克隆数据库》经验,为你挑选了4个好方法。

我们正在考虑使用CouchdDB进行CMS-ish应用程序.有关备份我们的生产数据库的常见模式,最佳实践和工作流建议有哪些?

我对克隆数据库以用于开发和测试的过程特别感兴趣.

仅仅从正常运行的实例下复制磁盘上的文件是否足够?你能在两个实时运行的实例之间克隆数据库数据吗

我们将非常感谢您使用的技术的建议和描述.



1> Paul J. Davi..:

另一件需要注意的事情是,您可以从实时数据库中复制文件.鉴于您可能有一个可能很大的数据库,您可以将它从测试/生产机器复制到另一台机器.

根据计算机的写入负载,建议在复制后触发复制以收集复制文件时正在进行的任何写入.但复制一些记录仍然比复制整个数据库更快.

有关参考,请参阅:http://wiki.apache.org/couchdb/FilesystemBackups



2> Marc Gear..:

CouchDB支持复制,因此只需复制到另一个CouchDB实例并从那里进行备份,避免干扰写入更改的位置.

http://wiki.apache.org/couchdb/FrequentlyAskedQuestions#how_replication

你真的发送一个POST请求到你的CouchDB实例告诉它在哪里复制,它的工作原理(tm)

编辑:只要您可以接受I/O命中,您就可以从正在运行的数据库中删除文件.



3> max..:

CouchDB也可以很好地处理现代文件系统(如ZFS)提供的文件系统快照.由于数据库文件始终处于一致状态,因此您可以随时获取文件的快照,而不会削弱CouchDB提供的完整性保证.

这导致几乎没有I/O开销.如果您有意外删除数据库中的文档,您可以将快照移动到另一台计算机并在那里提取丢失的数据.您甚至可以复制回生产数据库,但我从未尝试过.

但总是确保在移动数据库文件时使用完全相同的couchdb修订版.磁盘格式仍然以不兼容的方式发展.



4> Jan Lehnardt..:

我想提出Paul的建议:cp如果您可以接受I/O负载命中,那么只需要在实时服务器下提供数据库文件.如果您仍然运行复制的副本,您也可以安全地从中复制,而不会影响主人的表现.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有