何百万ものxmlファイルを保存および取得する簡単な方法を探しています。現在、すべてがファイルシステムで実行されていますが、パフォーマンスに問題があります。
要件は次のとおりです。
- バッチプロセスで数百万のxmlファイルを保存する機能。XMLファイルのサイズは最大で数メガバイトで、ほとんどが100KBの範囲です。
- IDによる非常に高速なランダムルックアップ(例:ドキュメントURL)
- JavaとPerlの両方からアクセス可能
- 最も重要なLinuxで利用可能-ディストリビューションとWindows
私はいくつかのNoSQLプラットフォーム(CouchDB、Riakなど)を調べましたが、これらのシステムは見栄えがしますが、ほとんどやり過ぎのようです。
- クラスタリングは必要ありません
- デーモン(「サービス」)は必要ありません
- 巧妙な検索機能は必要ありません
Riakを深く掘り下げてみると、Bitcask(イントロを参照)が見つかりました。これはまさに私が望んでいるもののようです。イントロで説明されている基本は本当に興味をそそられます。しかし、残念ながら、Javaを介してビットキャスクリポジトリにアクセスする手段はありません(またはありますか?)
スー私の質問は要約すると
- Bitcaskモデル(追加のみの書き込み、メモリ内のキー管理)は、何百万ものドキュメントを保存/取得する正しい方法です。
- Javaを介して利用可能なBitcaskの実行可能な代替手段はありますか?(BerkleyDBが思い浮かびます...)
- (riakスペシャリスト向け)Riakは、「裸の」Bitcaskと比較して、オーバーヘッドの実装/管理/リソースの面ではるかに優れていますか?