2011-10-28 15 views
6

私は次のプロジェクト(Python)にMongoDBを使用することを考えていましたが、今のところ、NoSQL MongoDBをSQLに対して使用することの利点は何か分かりません。MySQLとPostgreSQLよりMongoDBのメリットは何ですか?

NoSQL MongoDBを使用する理由や考え方を教えてください。 MongoDBのはRavenDBのようなドキュメント指向のデータベースがあるので、本発表では、事前

+0

*最高の理由*何もありません。タイトルはあなたの質問を非常に主観的にします。 * MongoDBとMySQLよりPostgreSQLのメリットは何ですか?* StackoverflowのQ&Aフォーマットに適しています。 – Dennis

+0

オッケー、私は質問を変えるつもりだと思う。ありがとう! – eos87

+1

[NoSqlとリレーショナルデータベースの可能な重複](http://stackoverflow.com/questions/4160732/nosql-vs-relational-database) – RameshVel

答えて

0

の使用に関するいくつかの大きなポイントがあるかもしれない、次のあなたのアイデアを与えることができます。

スキーマレスな性質により、 CMSやCRMエンティティなどの動的データを保存するのが理想的です。エンドユーザは通常、 として必要なデータまたは半構造データ(ハム)。さらに、 Ravenは強力なインデックス作成メカニズムを提供しており、 Linqクエリをインデックスとして定義することができます。 Ravenはそのクエリを受け取り、それを のバックグラウンドで実行します。そのLinqクエリの結果はすぐに利用可能です。クエリとして利用できるビューは です。我々は、適切なレイヴンを参照してください。

  1. のWeb関連データ、などユーザセッション、ショッピングカート、など - ワタリガラスの ドキュメントベースの性質は、あなたが取得して、リクエストを処理するために必要なすべての のデータを格納できることを意味します単一のリモートコール。
  2. ユーザがカスタマイズできるエンティティなどのダイナミックエンティティ、 オプションフィールドの数など - Ravenのスキーマのない性質とは、リレーショナルモデルを実装するためにリレーショナルモデルと戦わなくてもいいということです。
  3. Persisted View Models - すべてのリクエストでビューモデルを スクラッチから再作成する代わりに、Ravenの最終フォームに保存することができます。 これにより、計算量が削減され、リモートコール数が減少し、全体的なパフォーマンスが向上します。
  4. 大きなデータセット - レイヴンの基礎となるストレージ 機構( 単一のマシン上で)1件のテラバイトを超える規模に知られており、データベースの非リレーショナル性質は複数のマシンにデータベースをシャードすること が自明になりされ、何かが ネイチャーがネイバーできる。

から:http://ravendb.net/documentation/docs-what-is-raven

関連する問題