web-dev-qa-db-ja.com

mongoDBとmySQL-いくつかの面でなぜ1つが他より優れているのか

私はデータベースに非常に慣れておらず、高レベルの基本的な知識に興味があります。私は これは素晴らしいSO post を読みました。ある状況下では、ある状況下の方が他の状況よりも優れている場合がありますが、理由はわかりません。

  1. 結合操作でMySQLがMongoDBより速いのはなぜですか?

  2. 分散システムでMongoDBのスケーリングが向上するのはなぜですか?

  3. 「たくさんのテーブルを選択してすべてのオブジェクトをまとめる、つまりほとんどの人がWebアプリで何をしているのか」とすると、MongoDBの方が速いのはなぜですか?

どうもありがとう!

15
Vendetta

この質問には実際の調査が欠けています。つまり、あなたはその質問を読んだと言いますが、その質問の情報源にいくつかの実際の問題があるか、まあ…とにかく:

結合操作でMySQLがMongoDBより速いのはなぜですか?

ないので? MongoDBにはサーバー側の結合がありません。それを大文字にして申し訳ありませんが、私はそれをすごく頻繁に言います、私はそれをほとんどの質問に対する事実上の答えとして置きたいと思っています。

参加するのはクライアント側です。これは、実際にはMySQLや他のSQL技術よりも遅いことを意味します。結合クライアント側の背後にある重要なアイデアは、サーバー側で結合を行うことは、不可能ではないにしても、巨大な分散環境でのスケーリングが非常に困難になるということです。これが、多くのビッグSQLユーザーが実際に巨大な結合を防止しようとし、MongoDBが行うことをSQLで効果的に実行しようとしている理由です。

もちろん、これはシナリオに依存します。

分散システムでMongoDBのスケーリングが向上するのはなぜですか?

http://docs.mongodb.org/manual/replication/ はここでも非常に重要であり、 http://docs.mongodb.org/manual/core/sharded-clusters / と、データパーティションへの拡張方法とそうでないものの両方を注意深く読むことをお勧めします。

「たくさんのテーブルを選択してすべてのオブジェクトをまとめる、つまりほとんどの人がWebアプリで何をしているのか」とすると、MongoDBの方が速いのはなぜですか?

それがどういう意味なんだ?.

私はこれが答えの多くではないことを理解していますが、あなたの質問はそれらの事実上の質問の1つなので、事実上の答えで答えました。

あなたは一般的にデータベースに慣れていないので、個人的にはデータベースを使用することをお勧めします...

20
Sammaye