1

すべてのデータ操作の完全な監査を必要とするシステムにCouchDBを使用しようとしています。リビジョン追跡機能が組み込まれているため、ソファは理想的な選択肢のように思われました。しかし、その後、O'Reillyの教科書で、「CouchDBは古いバージョンが保持されることを保証するものではない」と読みました。

この点、またはcouchが内部でリビジョン追跡をどのように処理するかについて、これ以上のドキュメントを見つけることができないようです。データベースごと、またはドキュメントごとのレベルでCouchを構成して、すべてのバージョンを永久に維持する方法はありますか?もしそうなら、どのように?

4

3 に答える 3

7

CouchDBのリビジョンは、あなたが考えているようなリビジョンではありません。これらは、更新されたデータをデータベースに追加する方法の成果物であり、圧縮時にクリーンアップされます。これはよくある誤解です。

アプリケーションのスキーマ/ドキュメント設計の一部としてリビジョン追跡を実装する必要があります。

于 2010-05-13T11:38:45.860 に答える
0

couchはすべてのバージョンを保存していますが、「コンパクトデータベース」リンクで布団をクリックすると、以前のバージョンはすべて削除されます。したがって、コンパクトデータベースをクリックしないと、すべてのバージョンが保持されると思います:)

于 2010-05-13T11:22:54.287 に答える
0

CouchDBの以前のバージョンのドキュメントが削除される状況は2つあります。

  1. レプリケーション
  2. 圧縮

したがって、テラバイトを意味する大量のデータを保存したくない場合は、おそらくレプリケーションは必要ありません。とにかく、CouchDBのマスター間レプリケーションは最も重要な機能の1つです。ディスク上のCouchDBのサイズは従来のデータベースよりも大きいため、将来的には圧縮が必要になる可能性があります。

前述のように、アプリケーションのスキーマ/ドキュメント設計の一部としてリビジョン追跡を実装する必要があります。

于 2012-07-25T07:27:02.173 に答える