压缩具有连续复制的CouchDB数据库是否安全?

Dav*_*veO 9 couchdb database-replication

我们有几个生产的couchdb数据库已经爆发到30GB,需要进行压缩.这些由24/7运营网站使用,并使用连续复制与另一台服务器复制.

从测试开始,我们需要大约3分钟来压缩这些数据库.

在生产站点和复制仍在运行时,压缩复制的一面是否安全?

Sam*_*bee 13

是的,这是非常安全的.

压缩的工作原理是在内存中构造新的压缩状态,然后将新状态写入新的数据库文件并更新指针.这是因为CouchDB有一个非常严格的规则,即数据库文件的内部永远不会更新,只附加到fsync.这就是为什么你可以粗暴地杀死CouchDB的进程,而不必像在其他解决方案中那样恢复或重建数据库.

这意味着您需要额外的磁盘空间来重写该文件.因此,尝试压缩CouchDB数据库以防止出现完整的磁盘警告通常是非启动性的.

此外,复制使用序列树(b +树)的内部表示.复制器不会将整个数据库文件从磁盘传输到网络管道.

最后,当然会增加系统资源利用率.但是,您的测试应该大致显示您的系统与空闲CouchDB相比的成本,您可以使用它来确定您将系统推向断点的程度.