回答:
正直に言うと、ほとんどのNoSQLデータベースはビッグデータのアプリケーションにはあまり適していません。すべてのビッグデータアプリケーションの大半については、のパフォーマンスMongoDBはのようなリレーショナルデータベースに比べて、MySQLがある大幅に完全にMongoDBのようなものから離れて滞在令状に貧しい十分です。
そうは言っても、NoSQLデータベースには、大規模なデータセットで作業しているときに確実に機能するいくつかの非常に便利なプロパティがありますが、読み取りのSQLと比較して、NoSQLの一般的なパフォーマンスがこれらのメリットを上回る可能性があります集中的な操作(一般的なビッグデータの使用例に最も類似)は少ないです。
個人的には、データサイエンスアプリケーションのバックエンドを選択することを検討している場合、特定の種類のクエリに対して非常に優れたパフォーマンスを示すNeo4jなどのグラフデータベースも確認することをお勧めします。
json
完全に構造化されたデータです。技術的にはあらゆる種類のデータ分析を行うことができますが、実際にはNOSQLデータベースは関係ありません。ただし、analyticaなど、 mongoの上に構築されたツールがあります。
スキーマフリーのNoSQLアプローチの利点の1つは、時期尚早にコミットせず、Apache Drillなどの適切なツールを使用してクエリ時に適切なスキーマを適用できることです。詳細については、このプレゼンテーションを参照してください。MySQLは、ビッグデータ設定での最初の選択ではありません。
複数のデータベースを検討し、試してみて、おそらく使用することもできます。ここでは、単に「パフォーマンス」の問題ではありません。それは本当にあなたの要件に来るでしょう。どれくらいのデータについて話しているのですか?どんなデータ?どれくらい早く必要ですか?もっと読むのが重いですか、書くのが重いですか?
SQLデータベースではできないことの1つは、センチメントの計算です。http://www.slideshare.net/shift8/mongodb-machine-learning
もちろん、その場合の速度はあなたのニーズに対して十分に速くないかもしれませんが、それは可能です。特定の集計値をキャッシュすることで、それでもまったく受け入れられました。なぜこれをするのですか?便利。
利便性は本当にあなたが説得しようとしているものです。それがまさに(私の意見では)NoSQLデータベースが作成された理由です。パフォーマンスももちろんですが、ベンチマークを割り引いて、他の懸念にもっと集中しようとしています。
MongoDB(およびその他のNoSQL)データベースには、組み込みのmap / reduceなどの非常に強力な機能がいくつかあります。これにより、Hadoopなどを使用するよりもコストと時間の両方を節約できます。または、より大きなビジネスを立ち上げるためのプロトタイプまたはMVPを提供できます。
グラフデータベースはどうですか?それらも「NoSQL」です。OrientDBのようなデータベースを見てください。パフォーマンスについて議論したい場合は...高速なSQLデータベースを見せてくれるとは思いません=)...そしてグラフデータベースには、あなたがする必要があることに基づいて本当に素晴らしいアプリケーションがあります。
テクノロジーのルール(およびインターネット)は、1つのことにあまり慣れていません。あなたは制限され、失敗に備えます。