.NET - 快速轻量级持久键值存储

时间:2011-04-12 17:55:57

标签: .net database storage key-value-store

我正在寻找.NET的持久键值存储。要求是:

  • 存储用于由字符串标识的对象,并具有多个可选(命名)属性,其值仅为字节数组。对于SQL解决方案,我会将其建模为一个字符串 - > id表,以及几个id - > blob tables。
  • 预期的数据量是几兆字节(目前不太可能超过10 Mb,但扩展到100 Mb将是一个不错的奖励)
  • 轻量级 - 最好是单组装,绝对没有外部应用
  • 读取比写入更频繁,至少是100倍。
  • 快速读/写访问 - 我希望内存存储和对数据更新的延迟写入;我可以定期产生异步写入自己,如果存储它就会产生奖励积分。
  • 原子I / O - 如果在写入过程中终止进程,数据库不应该中断;否则数据并不重要,即不需要额外的冗余。

目前我认为SQLite可以在这里工作;但它似乎有点矫枉过正 - 我只需要键值存储,而不是完整的SQL支持。我也听说过bdb和libdb-dotnet绑定 - 它看起来更轻巧,但我不知道性能/一致性特征。

有人可以在这推荐一些东西吗?欢迎使用其他参考资料(例如,如果.NET Framework中有某些东西可以完成这项工作,那将是非常棒的),以及使用SQLite或libdb-dotnet(或一般的bdb)或自行开发的解决方案的经验,如果它是无痛的话

1 个答案:

答案 0 :(得分:0)

或许看看http://ravendb.net/。它将JSON文档存储在键值存储中,但具有出色的.NET对象支持。

根据您对需求的解释,您还可以考虑使用它的托管存储引擎“Raven.Munin”,这是一个单一的程序集。