2017-06-02 77 views
2

我們使用CouchDB 2.0來存儲文件(.txt,.doc,.xls,.pdf,.mp3,.mp4,.zip)。文件上傳並存儲在我們的Web應用程序的CouchDB中。上傳文件的最大上傳大小爲500 MB。複製不適用於包含音頻/視頻文件的CouchDB數據庫

我們希望定期將CouchDB從生產服務器備份到安裝了CouchDB的備份服務器計算機。我們使用CouchDB支持的複製技術來備份數據。用於複製數據庫

繼curl命令作品:

curl -H "Content-Type: application/json" -X POST "http://localhost:5984/_replicate" -d {"source":"http://user:[email protected]:5984/dbname","target":"sampledb","continuous":true} 

上面的命令行之有效的複製具有與文本文件附件中的所有文檔數據庫。但它不適用於具有視頻或音頻或PDF文件作爲附件的文檔的數據庫。

以下是有關此問題的詳細信息 - 如果CouchDB上傳的文件大小高達500MB,則它會以小於500MB的壓縮大小進行存儲。如果CouchDB只有文本文件存儲,複製工作正常,沒有任何問題。但是,如果任何媒體文件,pdf或zip文件上傳到CouchDB,它將被存儲但沒有任何壓縮,並且帶有這些文件的CouchDB不能成功複製。上傳超過5MB的媒體文件時,通常會發生這種情況。

作爲解決方法,我們在default.ini文件中添加了compressible_types選項中的視頻/ *。但仍然複製數據庫與文件有媒體附件不起作用。

有沒有人知道如何在這種情況下複製CouchDB?

任何幫助真的很明顯。

感謝你,

Jaqen H'ghar

回答

1

此問題是由添加在CouchDB的local.ini設置文件下列選項來解決。該文件位於CouchDB \ etc位置。

[面料] request_timeout =無窮大

0

如果你想要做一個備份,你可以簡單地停止一個CouchDB的節點(假設它的集羣),並創建數據庫目錄的副本。所以database_dir指向local.ini文件。

這最適合創建一個節點的備份以恢復一個節點。所以每個節點都應該有自己的備份。