我正在寻找一个通用数据访问框架,它将提供跨SimpleDB,Azure表,Cassandra,CouchDB,MongoDb等各种nosql数据库的可移植性。我正在构建一个应用程序,并希望我的客户能够使用哪个nosql商店他们想要的。是否有.NET的数据库不可知的nosql框架?
在更相关的情况下,我会使用Linq over nHibernate或Entity Framework,但是我还没有找到与nosql数据库等效的框架。我发现的所有数据库都是特定于API的,尽管似乎存在显着的共性。有一个存在吗?最好有一个LINQ。
那么现在的核心共同特征是什么?它真的只是一个通过它的对象ID访问的对象吗? BTW。 Azure没有删除Tables,他们只提供了Relational和NoSQL。亚马逊与RDS一样。 – 2010-06-29 17:43:09
在这一点上,我认为你会得到基本的CRUD操作。即使在Couch和Mongo之间,Map/Reduce也有很大不同(它们相对相似)。一些列出的产品支持版本控制,但Mongo不支持。 Couch具有“视图”的概念,这对于缩小地图非常重要,但Mongo只是将map-reduce输出转换为新的集合。所以有可能你可以“抽象出”这个,但是它有很多抽象,B/C他们做着不同的事情。 – 2010-06-30 01:18:48