嵌入式非关系型(NoSQL的)数据存储 [英] Embedded non-relational (nosql) data store

查看:417
本文介绍了嵌入式非关系型(NoSQL的)数据存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在考虑使用/实施某种形式的嵌入式键值(或文件)存储为我的Windows桌面应用程序。我希望能够存储各种类型的数据的(GPS路线将是一个例子),当然能够查询该数据。数据的量将是这样的,它可能不是所有被加载到存储器的同时

I'm thinking about using/implementing some kind of an embedded key-value (or document) store for my Windows desktop application. I want to be able to store various types of data (GPS tracks would be one example) and of course be able to query this data. The amount of data would be such that it couldn't all be loaded into memory at the same time.

我在考虑使用SQLite作为存储引擎的key-value存储,像的y系列,但写在.NET。我也看到了有关的FriendFeed的使用的MySQL的存储架构,数据较少,这是一个良好的指针如何使用RDBMS的非关系型数据。 SQLite的似乎是因为它的简单性,便携性和库的大小一个不错的选择。

I'm thinking about using sqlite as a storage engine for a key-value store, something like y-serial, but written in .NET. I've also read about FriendFeed's usage of MySQL to store schema-less data, which is a good pointer on how to use RDBMS for non-relational data. sqlite seems to be a good option because of its simplicity, portability and library size.

我的问题是,是否有任何其他选项的嵌入式非关系商店吗?它并不需要是分配,它不必支持事务,但它必须是从.NET访问,它应该有一个小的下载大小

My question is whether there are any other options for an embedded non-relational store? It doesn't need to be distributable and it doesn't have to support transactions, but it does have to be accessible from .NET and it should have a small download size.

更新:我发现了一篇题为 SQLite作为一个键 - 值数据库其中比较源码Berkeley DB的,这是一个嵌入式键值存储库

UPDATE: I've found an article titled SQLite as a Key-Value Database which compares sqlite with Berkeley DB, which is an embedded key-value store library.

推荐答案

Windows有一个内置的嵌入式非关系存储。它被称为ESENT,并且由多个Windows应用程序,包括Active Directory和Windows桌面搜索。

Windows has a built-in embedded non-relational store. It is called ESENT and is used by several Windows applications, including the Active Directory and Windows Desktop Search.

<一个href="http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx">http://blogs.msdn.com/windowssdk/archive/2008/10/23/esent-extensible-storage-engine-api-in-the-windows-sdk.aspx

如果你想.NET访问,您可以使用codePLEX的ManagedEsent层。

If you want .NET access you can use the ManagedEsent layer on CodePlex.

HTTP://managedesent.$c$cplex.com/

该项目已实现实现IDictionary接口,一个key-value存储一个PersistentDictionary类的,而是由一个数据库支持。

That project has a PersistentDictionary class that implements a key-value store that implements the IDictionary interface, but is backed by a database.

这篇关于嵌入式非关系型(NoSQL的)数据存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆