この質問は非常に主観的なものになる可能性があります (実際にはそうではありませんが)。あなたは NoSQL についてまるで 1 つのことであるかのように話しているのですが、そうではありません。
あなたが持っている
- グラフ データベース (Neo4j など)、
- map/reduce スタイル ドキュメント データベース (Couch、Raven)、
- 通常のデータベース (Mongo) のように感じようとするドキュメント データベース、
- キー/バリュー ストア (Cassandra など)
- モアーはここに行きます。
それらのそれぞれは、異なる手段で異なる問題を解決しようとします。従来のリレーショナル ストアでそれらのいずれかを使用するかどうかは、
結局のところ、単一システムのプライマリデータ ストレージには、ドキュメント データベースまたはリレーショナル ストアが必要な場合があります。など)、またはキー/バリュー ストア (Facebook が受信トレイ メッセージに対して行う/行ったように)。
リレーショナル ストアよりもドキュメント ストアをプライマリ ストアとして選択する主な利点は、オブジェクトをテーブルのコレクションにマップしようとすることについて心配する必要がなく、そのための構成オーバーヘッドが少ないことです。 .
もう1つの欠点/利点は、何か新しいことを学び、途中で間違いを犯さなければならないことです.
それで、私が直接するつもりなら私の答えは?
- RavenDBが適しています
- SQLが適しています
どちらを使用するのが好きですか? 最近では、レポート目的でリレーショナル ストアにデータをダンプできることを知っていて、おそらくシステムの他の部分についても同様に行うことができることを知っており、フリーテキスト検索と高速書き込み/高速読み取りを実行せずに、Raven を使用するだけです。個別の読み取り/書き込みストアを定義する努力によって、全体的な勝利が得られます。
しかし、それは私であり、偏見があります。