2011-07-05 9 views
0

分岐した複数のリビジョンを持つ大きな文書を格納するためのデータベースソリューションを提案する人はいますか?コンテンツ全体を部分的に編集することは、文書全体を更新する必要はありません。大きな文書を格納するデータベース

私はXMLデータベースを見ていて、それらの適合性について疑問を持っていました。あるいは、おそらくDVCS(Mercurialのようなもの)を使用していました。

Pythonバインディングがあることが望ましいです。

+0

'ドキュメント'を定義します。大きなテキストブロックや、MS Wordなどの実際のファイルシステムドキュメントフォーマットについて話していますか? –

+0

テキストの大きなブロック - すべてがXML形式に正規化されます。 – rfw

+0

あなたはhttp://www.alfresco.com/を見ましたか? –

答えて

1

お試しFossil - デルタエンコーディングアルゴリズムがあり、すべてのバージョンを保持しています。これは単一のSQLiteデータベースによってサポートされ、WebベースのUIとコマンドラインUIの両方を備えています。

+0

Fossilは部分的な編集をサポートしていますか(ファイルの一部を抽出して戻すことができます)? – rfw

+0

新しい文書全体をコミットする必要がありますが、デルタエンコーディングアルゴリズムはリポジトリ内のコンテンツの重複を避けます。 –

+0

私は本当にドキュメント全体をチェックアウトする必要はありません。なぜなら、それらは任意に長くなる可能性があるからです。 – rfw

0

これは、ストレージの動作と使用例によって異なります。膨大な数の "ドキュメントリビジョン"を保存し、履歴バージョンを保持し、追記型のパターンに従うことを計画している場合は、Hadoop HDFSのようなものを調べる必要があります。これには、(安価な)インフラストラクチャが多く必要ですが、時間が経つにつれてリビジョンやデータを追加し続けることができ、MapReduceアルゴリズムを使用してリビジョンやデータをすばやく参照できるようになります。

+0

悲しいことに、それはより多くのwrite-many-read-manyであり、書き込みは必ずしも大きくはありません。 – rfw

関連する問題