2012-05-20 1 views
12

Я работал с MySQL больше, чем MongoDB, но из того, что я узнал из MongoDB, это то, что мне нужно, но оно также имеет ограничения, которые может выполнять MySQL (например, автоматическое увеличение)Использование MySQL и Mongodb вместе

Было бы разумно использовать MongoDB для всего и использовать MySQL только для определенных вещей?

Например, используйте MongoDB для хранения пользователей и всего остального, но используйте MySQL для создания, например, системы билета.

+0

Это будет зависеть от работы. Например, Auto-Increment не является достаточной причиной для добавления еще одного db. Но в принципе нет ничего плохого в том, чтобы иметь два разных dbs, если они вам понадобятся. – joshp

+0

Да, я использую его не только для этого, я просто привел пример. Благодарю. – unlucky4ever

ответ

15

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

Обычно используется MySQL в качестве основного хранилища, а MongoDB - как кеширование/промежуточное хранилище для скорости.

Вы можете, например, иметь данные с интенсивным чтением в MongoDB. Данные для генерации отчетов идеально подходят для реляционной системы, такой как MySQL.

+0

Общепринято ли использовать две разные базы данных? – unlucky4ever

+0

Два разных типа базы данных, например Объектно-ориентированный и реляционный ... – aleroot

+0

Спасибо, теперь я узнал, что должен использовать MySQL в качестве моей основной базы данных и использовать MongoDB для других вещей, я начну конвертировать мои приложение :) (не волнуйся, это мало) – unlucky4ever

4

Существует довольно хорошее обсуждение использования случаев для MongoDB на главном MongoDB site. В целом, если ваше деловое дело включает в себя необходимость транзакций и тяжелую функциональность T-SQL, вам лучше работать с помощью СУБД, таких как MySQL.

Хорошие Прецеденты для MongoDB являются следующие: 1) Ваши данные в формате документа, т.е. нерегулярной структуры в отдельных документах (то есть данные не должны быть соединены) 2) Вы планируете использовать (опять же из-за структуры ваших данных), но вы хотели бы «больше» с точки зрения способности индексировать/запрашивать эти данные. 3) Ваш проект находится в состоянии, когда вы действительно не знаете, каким будет схема или структура ваших данных. 4) У вас есть специализированные типы данных, такие как геопространственные данные, и вы хотите иметь возможность запросить его. 5) Возможно, вам потребуется быстро и дешево масштабировать место хранения данных.

+0

Просто хочу сказать, что пункт 3 не обязательно подходит для Монго. Я бы сказал, что в этой ситуации MySQL будет намного лучше. Хотя, если вы не представляете, как должна выглядеть ваша база данных, вы не должны начинать разработку своего проекта, пока не сделаете это. –

+0

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

2

Вот хорошо напечатал обсуждение использования MongoDB, кто-то, кто взял MongoDB курсы

Considerations for choosing or not choosing MongoDB

Блоггер в основном говорит, что с помощью MongoDB с другими системами БД прекрасно подходит, но использовать его по всей системе , может быть самым сложным и практически невозможным в некоторых определенных сценариях.

Вот некоторые субтитры:

Причины выбрать Монго

  • документов ориентированных и schemaless
  • Горизонтальная масштабируемость и высокая доступность
  • Быстрая запись в огне-и- режим забывания
  • Комплексный запрос и аггре gation Framework
  • Сравнительно интуитивная архитектура

причин не выбрать Монго

  • Нет SQL = Нет Соединение
  • Нет ACID транзакций
  • Ваши показатели не поместились бы в память