質問

SimpledB、Azure Tables、Cassandra、CouchDB、MongoDBなど、さまざまなNOSQLデータベースで移植性を提供する一般的なデータアクセスフレームワークを探しています。アプリを構築していて、顧客がこれまでに使用できるようにしたい彼らが望むnosqlストア。

より関係のシナリオでは、nhibernateまたはエンティティフレームワークよりもlinqを使用しますが、noSQLデータベースの同等のフレームワークは見つかりませんでした。私が見つけたのは、重要な共通性があるように見えても、データベース固有のAPIだけです。存在しますか?できればlinqを持つもの。

役に立ちましたか?

解決

これらのことはあまりにも異なっていて、あまりにも具体的すぎます(少なくとも今は)。あなたが何かが欲しかったら 本当 シンプルで、IDによってのみアクセスされるオブジェクトのラッパーのように、希望があるかもしれません。実際、Normを見ると、それをさまざまなプロバイダーに適応させることが可能かもしれません。

ただし、小さなコアセットの外では、これらの「NOSQL」データベースは多くの点でまったく異なります。つまり、さまざまなマップ/削減機能をいじめて実装するにはどうすればよいですか?アトミック動作が異なる原子動作をサポートするとき、どのように実装しますか?

いずれにせよ、私たちはNOSQLライフサイクルの早すぎて、このすべての不可知論的なフレームワークを持っていません。 Azureは基本的に、「ホストされたSQL Server」を支持してNOSQLの提供をドロップしました。 MongoDBは20か月で、CouchDBはまだバージョン0.11.x、SimpleDBは24か月未満、Cassandraはバージョン0.6.2にあり、数年間定期的に使用されている可能性があります。

私たちはまだそこにいません。

他のヒント

一般的なクエリ言語(UNQLと呼ばれる)が開発されています。 http://www.unqlspec.org/display/unql/home

MongoDBにはLINQプロバイダーがありますが、「すべて」NOSQL DBに一般的な.NET LINQプロバイダーがあるとは思いません。

一部の人々は、一般的なNOSQLクエリ言語について考えています。 http://nosql.mypopescu.com/post/731261002/a-common-nosql-query-language

基本的な持続性の持続性要件のみがある場合、私は維持します 一般的なキャッシュAPI Memcached、Redis、Inmemory、Files -Systemのキャッシングのプロバイダー。

Redisのみをサポートしますが、私は持っています C#Redisクライアント これは非常に馴染みのあるC#APIを持っています。永続的なPoCoタイプをネイティブにサポートし、Redisのすべての高度なサーバー側のデータ構造をネイティブ.NET ILIST、ICOLLECTIONデータ構造として公開するため、LINQなどの既存のC#APIで簡単に使用できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top