2017-06-02 25 views
2

ファイル(.txt、.doc、.xls、.pdf、.mp3、.mp4、.zip)を格納するためにCouchDB 2.0を使用しています。ファイルは、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ファイルを持つドキュメントを持つデータベースでは機能しません。

この問題の詳細は次のとおりです。 - 500MBまでのテキストファイルをCouchDBにアップロードすると、500MBよりはるかに少ない圧縮サイズで保存されます。また、CouchDBにテキストファイルのみが保存されていれば、問題なく複製がうまく動作します。しかし、CouchDBにメディアファイル、pdfまたはzipファイルがアップロードされていれば、それは保存されますが、圧縮は行われず、これらのファイルを含むCouchDBは正常に複製されません。これは、通常、5MBを超えるメディアファイルがアップロードされた場合に発生します。

回避策として、default.iniファイルのcompressible_typesオプションにvideo/*を追加しました。しかし、メディアを添付した文書でdbを複製することはできません。

このような場合にCouchDBを複製する方法を知っている人はいますか?

どのような助けが本当に感謝しています。よろしくお願い

Jaqen H'ghar

答えて

1

この問題は、CouchDBのためのlocal.ini設定ファイルで、次のオプションを追加することによって解決されます。このファイルは、場所CouchDB \ etcにあります。

[ファブリック] REQUEST_TIMEOUT =無限大

0

あなたは(それがクラスタ化されていますと仮定して)あなたは、単に1つのCouchDBのノードを停止することができ、バックアップを作成し、データベースディレクトリのコピーを作成したい場合。だからdatabase_dirが指すファイルはlocal.iniです。

これは、1つのノードをリストアするために1つのノードのバックアップを作成する場合に最も適しています。したがって、各ノードには独自のバックアップが必要です。