4

.NET用の永続的なKey-Valueストレージを探しています。要件は次のとおりです。

  • ストレージは、文字列で識別され、バイト配列である値を持ついくつかのオプションの(名前付き)プロパティを持つオブジェクトに使用されます。SQLソリューションの場合、1つの文字列-> idテーブル、および複数のid->blobテーブルとしてモデル化します。
  • 予想されるデータ量は数メガバイトです(現在、10 Mbを超える可能性は低いですが、100 Mbにスケールアップすると便利です)
  • 軽量-できれば単一アセンブリで、外部アプリケーションなし
  • 読み取りは書き込みよりも頻繁で、少なくとも100倍です。
  • 高速な読み取り/書き込みアクセス-データの更新に対するメモリ内ストレージと遅延書き込みを期待しています。定期的に非同期書き込みを生成できます。ストレージがそれを行う場合はボーナスポイントが発生します。
  • アトミックI/O-書き込み中にプロセスが終了した場合でも、データベースが破損することはありません。それ以外の場合、データは重要ではありません。つまり、追加の冗長性は必要ありません。

現在、SQLiteはここで機能すると思います。ただし、それは少しやり過ぎのようです。SQLの完全なサポートではなく、Key-Valueストレージのみが必要です。bdbやlibdb-dotnetバインディングについても聞いたことがあります。これはより軽量のようですが、パフォーマンス/一貫性の特性はわかりません。

誰かがここで何かをお勧めできますか?追加のリファレンスを歓迎します(つまり、.NET Frameworkに仕事をすることができるものがあれば素晴らしいでしょう)、SQLiteまたはlibdb-dotnet(または一般的にはbdb)または自家製のソリューション(痛みがない場合)の経験もあります。

4

1 に答える 1

0

おそらくhttp://ravendb.net/を見てください。JSON ドキュメントをキー値ストレージに格納しますが、優れた .NET オブジェクト サポートを備えています。

ニーズの説明から、単一のアセンブリであるマネージド ストレージ エンジン「Raven.Munin」を利用することも検討できます。

于 2011-04-12T18:05:05.833 に答える