本文介绍了.NET是否有与数据库无关的nosql框架?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一个通用的数据访问框架,该框架将提供跨nosql数据库(如SimpleDB,Azure表,Cassandra,CouchDB,MongoDb等)的可移植性.我正在构建一个应用程序,希望我的客户能够使用他们想要的nosql存储.

I'm looking for a common data access framework that will provide portability across various nosql databases like SimpleDB, Azure Tables, Cassandra, CouchDB, MongoDb, etc. I'm building an app and would like my customers to be able to use which ever nosql store they want.

在一个更相关的场景中,我将使用Linq而不是nHibernate或Entity Framework,但是我还没有找到等效的Nosql数据库框架.我发现的只是特定于数据库的API,尽管似乎有很大的共性.是否存在?最好搭配LINQ.

In a more relational scenario, I'd use Linq over nHibernate or Entity Framework, but I haven't found an equivalent framework for nosql databases. All I've found is database specific API's even though there seem to be significant commonality. Does one exist? Preferably one with LINQ.

推荐答案

没有这些东西太不同且太具体了(至少现在是这样).如果您想要真正简单的东西,例如仅由ID访问的对象上的包装,那么您可能会有希望.实际上,如果您查看NoRM,则有可能使它适应各种提供商.

No these things are too different and too specific (at least right now). If you wanted something really simple, like just a wrapper on an object that is only accessed by ID, then you may have a hope. In fact, if you look at NoRM, it may be possible to adapt that to various providers.

但是,除了少数核心功能之外,这些"NoSQL"数据库在许多方面都大不相同.我的意思是,您如何不可知地实现各种map/reduce函数?当它们支持不同的原子操作时,您如何实现原子操作?

However, outside of a small core set of features, these "NoSQL" databases are quite different in many regards. I mean, how do you implement the various map/reduce functions agnostically? How do you implement atomic operations when they support different atomic operations?

无论哪种方式,我们在NoSQL生命周期中都还为时过早,无法为所有这些提供一个不可知的框架. Azure基本上放弃了它们的NoSQL产品,转而使用托管SQL服务器". MongoDB可能已经使用了20个月,CouchDB仍然使用的版本是0.11.x,SimpleDB不到24个月的版本,Cassandra的版本是0.6.2,并且可能已经使用了几年.

Either way, we're way too early in the NoSQL life-cycle to have an agnostic framework for all of this. Azure basically dropped their NoSQL offering in favor of "hosted SQL server". MongoDB is maybe 20 months old, CouchDB is still on version 0.11.x, SimpleDB is less than 24 months old, Cassandra is on version 0.6.2 and has maybe been in regular use for a couple of years.

我们还不在那里.

这篇关于.NET是否有与数据库无关的nosql框架?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 04:00