MongoDB против MySQL - PullRequest
       5

MongoDB против MySQL

64 голосов
/ 15 декабря 2010

Я использовал для сборки приложений Ruby on Rails с MySQL.

В настоящее время MongoDB становится все более и более известным, и сейчас я начинаю его пробовать.

Проблема в том, что яне знаю основополагающую теорию о том, как работает MongoDB (я использую mongoid gem, если это имеет значение)

Поэтому я хотел бы сравнить производительность между использованием MySQL + ActiveRecord и моделью, созданной mongoid gemкто-нибудь поможет мне разобраться?

Ответы [ 3 ]

56 голосов
/ 15 декабря 2010

Статья, озаглавленная: Какого черта вы на самом деле используете NoSQL? очень хорошо представляет преимущества и недостатки использования NoSQL.

Редактировать: Также читайте http://blog.fatalmind.com/2011/05/13/choosing-nosql-for-the-right-reason/ сообщение в блоге тоже

Повторное редактирование: я нашел несколько недавних материалов (опубликованных в 2014 году) на эту тему, которые я считаю актуальными: Что осталось от NoSQL?

8 голосов
/ 15 декабря 2010

Я не знаю много основополагающей теории. Но вот совет, который я получил: используйте MongoDB, только если вы используете его на нескольких серверах; вот когда это будет светить. Насколько я понимаю, движение NoSQL появилось в немалой степени из-за боли балансировки нагрузки реляционных баз данных на нескольких серверах. Поэтому, если вы размещаете свое приложение не более чем на одном сервере, MySQL будет предпочтительным выбором.

Хорошие люди из проекта Doctrine недавно написали весьма полезную запись в блоге на эту тему.

4 голосов
/ 10 марта 2013

Из того, что я прочитал до сих пор ... вот мое мнение.

Стандартный SQL торгует с более низкой производительностью из-за разнообразия функций ... то есть он позволяет вам выполнять соединения и транзакции между наборами данных (таблицами / коллекциями, если хотите), среди прочего.

Это позволяет разработчику приложения перенести часть сложности приложения на уровень базы данных. Это имеет свои преимущества, заключающиеся в том, что приложение не должно беспокоиться о целостности данных и об остальных свойствах ACID в зависимости от проверенной технологии. Отсутствие экстремальной масштабируемости работает практически во всех проектах, если можно поддерживать работу приложения в ожидаемые сроки, что иногда может привести к необходимости приобретения высокопроизводительных / дорогих систем реляционных баз данных.

С другой стороны, Mongo DB намеренно исключает большую часть внутренней сложности, связанной с реляционными базами данных, обеспечивая лучшую масштабируемую производительность.

Этот подход заставляет разработчика приложения перестроить приложение, чтобы обойти отсутствие реляционных функций ... что само по себе хорошо, но затрачиваемые усилия, как правило, того стоят только при наличии требований к масштабируемости. , Обратите внимание, что с MongoDB в зависимости от требований к данным со свойствами ACID. Приложение должно активизироваться и обрабатывать по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...