私は最近、私が取り組んでいる大規模なアプリケーションのためにソファを使い始めました。CouchDBをローカルソファに複製すると、サイズが小さくなります - なぜですか?
Iデータベースが7907個のドキュメントを持ち、データベースの名前を変更したかった。私はちょっと覗いてみましたが、名前を変更する方法が分からなかったので、私はそれを私が望む名前のローカルデータベースに複製することになりました。
初めて試したところ、レプリケーションに失敗しました。エラーはタイムアウトだと思います。私はもう一度やり直しましたが、すぐにうまくいきました。少し戸惑っていました。
レプリケーション後、新しいデータベースのレコード数が正しいことがわかりますが、データベースのサイズは元の1/3です。
また奇数少しは私が布団を更新した場合、元の大きさは94.6の間と95.5メガバイト
を変動これは、いくつかの質問を私に残していることである:
は、第二のデータベース保存しています最初の?もしそうなら、最初に害を及ぼすことなく削除できますか?
なぜサイズがどう違うのですか?新しいインデックスが最終的に作成するオリジナルの索引はありましたか?
なぜサイズが変動しますか?
編集:
役に立つかもしれませんいくつかのこと:
- これはcloudantのCouchDBの上
- をインストールしている私は、新しいDBの最初と最後のレコードをチェックしますと一致するので、布団が過小評価されているとは思わない。
非常に役に立ちます。私はビューを作成していないので、サイズの縮小に驚いて、実際にはローカルDBから元のデータベースを複製していました。私も更新を行っていないので、メタデータは比較的重要ではありません。しかし、私は今このデータについて心配していませんので、元のdbを削除してください。私は、雲が内部の複製を行い、異なるノードに当たることによって変動が生じたと考えました。何かがあれば私のデータでより安全に感じることができます。 – Jesse
改善の余地があり、CouchDB 1.2が改善したと思います。しかし、これはCouchDBが誤解されている多くの方法の1つです。これは、信頼性のためにディスク使用量(およびI/O)を大幅に犠牲にするデータ構造とアルゴリズムを採用しています。 'kill -9'はCouchDBをシャットダウンするための完璧な方法だと考えてください。リスクはゼロです。当然、それは「無駄」だと思っていますが、本当のトレードオフは人的資源ではなくハードウェア資源を費やすことです。 – JasonSmith