MongoDB против mySQL - почему кто-то лучше другого в некоторых аспектах

Я действительно новичок в базе данных и интересуюсь некоторыми базовыми знаниями высокого уровня. Я прочитал эту замечательную публикацию SO. В некоторых случаях я под одним лучше другого, но не знаю, почему.

  • Почему MySQL работает быстрее, чем MongoDB при операции объединения?

  • Почему MongoDB лучше масштабируется в распределенной системе?

  • Почему MongoDB быстрее, если я просто выбираю кучу таблиц и объединяю все объекты, AKA, что большинство людей делают в веб-приложении?

Спасибо большое!

Ответ 1

Этот вопрос не содержит каких-либо реальных исследований, я имею в виду, вы говорите, что читаете этот вопрос, но либо этот вопрос имеет некоторые реальные проблемы с источником его информации или... ну; в любом случае:

Почему MySQL работает быстрее, чем MongoDB при операции объединения?

Потому что его нет? У MongoDB НИКАКИЕ СЕРВЕРНЫЕ СТОРОНЫ. Я сожалею, что сказал это в столицах, но я часто говорю это soooooo, мне просто хочется поставить его как ответ дефакто для большинства вопросов.

Любые соединения, которые вы делаете, являются клиентскими. Это означает, что они будут на самом деле медленнее, чем MySQL или другие технологии SQL. Важная идея, стоящая за тем, чтобы присоединиться к стороне клиента, заключается в том, что делать их на стороне сервера становится очень трудно масштабировать в огромных распределенных средах, если не невозможно. Именно поэтому многие крупные пользователи SQL на самом деле пытаются предотвратить огромные объединения и фактически пытаются сделать в SQL то, что делает MongoDB.

Случай для этого, конечно, зависит от сценария.

Почему MongoDB лучше масштабируется в распределенной системе?

http://docs.mongodb.org/manual/replication/ здесь очень важна, и это тоже http://docs.mongodb.org/manual/core/sharded-clusters/, и я бы рекомендовал прочитать и как они масштабируются для разделов данных, а что нет.

Почему MongoDB быстрее, если я "просто выбираю кучу таблиц и объединяю все объекты, AKA, что большинство людей делают в веб-приложении"?

Не знаю, что вы подразумеваете под этим.

Я понимаю, что это не большой ответ, но ваш вопрос является одним из тех вопросов defacto, и поэтому я ответил с дефактовым ответом.

Поскольку вы новичок в базах данных, я лично рекомендую вам использовать один...