2011-12-14 10 views
9

以下の機能を備えたファイルシステムベースのキーと値のストレージの効率的なJava実装があります:Javaのディスクベースのキー値記憶

  1. ストア、上書き、およびユニークIDでバイト配列を取得(
  2. )格納することによってなしメモリキャッシュを割り当てなくてもよい(手段は、直ちにシステムをファイルに書き込む書き込み、ファイルシステムから読み取る手段を読み取る)
  3. 合計データは数百まで、数テラバイトに格納されたオブジェクトの
  4. 番号をサイズ百万円
  5. ファイルシステムオブジェクトの管理可能な数(ファイルシステムレベルでストレージ全体を移動/コピー/削除するため)

Will Berkeley DB JEはできますか?

+0

なぜたくさんのファイルシステムオブジェクトへの嫌悪?あなたがその要件を落とすと、これは非常に簡単に管理できます。 おそらくSQLiteを使うことができます – wowest

+0

私はSQLiteが "数テラバイト"に拡大するとは思っていません。 – Gray

+0

バークレーDB JEは私のリストに載っています。私は、SQLデータベースが遅くなると思う。私はテラバイトサイズのファイルの移動/コピー/削除をやっているとは想像もできません。 – Gray

答えて

0

おそらく、HBaseのは、しかし、あなたはうまくやり過ぎかもしれない、全体のHadoopスタックを実行する必要があります! http://hbase.apache.org/

3

ファイルシステムで専用パーティションをフォーマットするだけですか?ファイルシステムは要件1-4を満たし、要件5はそのパーティションの移動/コピーまたは削除によって満たされます。

+0

データサイズが「テラバイト」でIDをシングルキーすると、同じことを考えていました。 Javaの参考文献はお勧めできませんが、最近のメモリ(exim、postfix、sendmail、qmail)のすべての電子メールサーバはこのように動作します。 – BRFennPocock

1

MapDBをお勧めします.MapDBは、ディスクストレージまたはオフヒープメモリによってバックアップされた同時マップ、セットおよびキューを提供します。軽量でハッキング可能。