复制不适用于包含音频/视频文件的CouchDB数据库

复制不适用于包含音频/视频文件的CouchDB数据库,couchdb,database-replication,Couchdb,Database Replication,我们使用CouchDB 2.0存储文件(.txt、.doc、.xls、.pdf、.mp3、.mp4、.zip)。文件从我们的web应用程序上传并存储在CouchDB上。正在上载的文件的最大上载大小为500 MB 我们希望定期将CouchDB从生产服务器备份到安装了CouchDB的备份服务器机器。我们正在使用CouchDB支持的复制技术来备份数据 以下curl命令用于复制数据库: curl -H "Content-Type: application/json" -X POST "http://lo

我们使用CouchDB 2.0存储文件(.txt、.doc、.xls、.pdf、.mp3、.mp4、.zip)。文件从我们的web应用程序上传并存储在CouchDB上。正在上载的文件的最大上载大小为500 MB

我们希望定期将CouchDB从生产服务器备份到安装了CouchDB的备份服务器机器。我们正在使用CouchDB支持的复制技术来备份数据

以下curl命令用于复制数据库:

curl -H "Content-Type: application/json" -X POST "http://localhost:5984/_replicate" -d {"source":"http://user:password@targetIP:5984/dbname","target":"sampledb","continuous":true} 
上述命令适用于复制包含所有带有文本文件附件的文档的数据库。但它不适用于带有视频、音频或pdf文件作为附件的数据库

下面是有关此问题的详细信息-如果在CouchDB上上载了一个大小高达500MB的文本文件,它将以压缩大小远小于500MB的方式存储。如果CouchDB只存储了文本文件,那么复制就可以正常工作,没有任何问题。但是,如果任何媒体文件、pdf或zip文件上传到CouchDB上,它会被存储,但不会进行任何压缩,并且带有这些文件的CouchDB不会成功复制。这通常发生在上传超过5mb的媒体文件时

作为一种解决方法,我们在default.ini文件的compressable_types中添加了video/*选项。但是仍然使用带有媒体附件的文档复制数据库是不起作用的

有人知道在这种情况下如何复制CouchDB吗

任何帮助都是值得感激的

谢谢你


Jaqen H'ghar

通过在couchDB的local.ini设置文件中添加以下选项,可以解决此问题。此文件位于CouchDB\etc位置

[织物]
request_timeout=infinity

如果要进行备份,只需停止一个CouchDB节点(假设它是群集的)并创建数据库目录的副本即可。因此,只要
数据库\u dir
指向
local.ini
文件中的任何位置

这最适合于创建一个节点的备份以恢复一个节点。因此,每个节点都应该有自己的备份