我正在考虑为我的 Windows 桌面应用程序使用/实现某种嵌入式键值(或文档)存储。我希望能够存储各种类型的数据(GPS 轨迹就是一个例子),当然还能够查询这些数据。数据量将无法同时全部加载到内存中。
我正在考虑使用 sqlite 作为键值存储的存储引擎,类似于y-serial,但用 .NET 编写。我还阅读了有关FriendFeed 使用 MySQL 存储无模式数据的信息,这是关于如何将 RDBMS 用于非关系数据的一个很好的指导。sqlite 似乎是一个不错的选择,因为它的简单性、可移植性和库大小。
我的问题是嵌入式非关系存储是否还有其他选项?它不需要是可分发的,也不需要支持事务,但它必须可以从 .NET 访问,并且它应该具有较小的下载大小。
更新:我发现一篇题为SQLite as a Key-Value Database的文章将 sqlite 与 Berkeley DB 进行了比较,Berkeley DB 是一个嵌入式键值存储库。