我正在寻找一个通用的数据访问框架,该框架将在各种NOSQL数据库中提供可移植性他们想要的NOSQL商店。

在更加关系的情况下,我将在NHIBERNATE或实体框架上使用LINQ,但是我还没有找到NOSQL数据库的等效框架。我发现的只是数据库特定的API,即使似乎有重要的共同点。有一个吗?最好是Linq。

有帮助吗?

解决方案

没有这些东西太不同且太具体了(至少现在)。如果你想要什么 真的 简单,就像仅在ID访问的对象上的包装器一样,您可能会有希望。实际上,如果您查看规范,则可以将其适应各种提供商。

但是,除了一组小核心功能之外,这些“ NOSQL”数据库在许多方面都大不相同。我的意思是,您如何实现各种映射/减少功能不可知?当原子操作支持不同的原子操作时,您如何实施它们?

无论哪种方式,我们在NOSQL生命周期中还为时过早,无法为所有这一切建立不可知论的框架。 Azure基本上放弃了他们的NOSQL产品,而支持“托管SQL Server”。 MongoDB可能已经20个月了,CouchDB仍在0.11.x版本上,SimpleDB不到24个月大,Cassandra在0.6.2版上使用,并且可能已定期使用了几年。

我们还不到那里。

其他提示

正在开发一种常见的查询语言(称为UNQL): http://www.unqlspec.org/display/unql/home

MongoDB有LINQ提供商,但我认为没有一个通用的.NET LINQ提供商来“ ALL” NOSQL DB。

有些人考虑过通用的NOSQL查询语言: http://nosql.mypopescu.com/post/731261002/a-common-nosql-query-langue

如果您只有基本的持久性要求,我保持 常见的缓存API 带有用于MEMCACHED,REDIS,INMEMORY和FILESYSTEM CACHING的提供商。

它只支持redis,但我有一个 c#redis客户端 那具有非常熟悉的C#API。它本地支持持续的POCO类型,并将REDIS的所有高级服务器端数据结构视为本机.NET ILIST,ICOLLECTION数据结构,因此可以轻松地在Linq等现有C#API中使用它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top