Использование Mongodb и Mysql в одном проекте - PullRequest
1 голос
/ 28 июня 2011

Я работал над тем, чтобы эффективно изучить Mongodb в течение одной недели, чтобы использовать его для своего проекта. В моем проекте я буду хранить огромные геолокационные данные, и я думаю, что Mongodb является наиболее подходящим для хранения этой информации. Кроме того, скорость очень важна для меня, и Mongodb реагирует быстрее, чем Mysql.

Однако я буду использовать некоторые объединения для некоторых частей проекта, и я не уверен, сохраню ли я информацию пользователя в Mongodb или нет. Я слышал, что некоторые проблемы могут возникнуть в mongodb во время процесса записи. я должен использовать только mongodb с коллекциями (вместо объединения) или их обоих?

Ответы [ 3 ]

3 голосов
/ 03 июля 2011

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

  • СУБД для высокотранзакционных OLTP
  • NoSQL
  • проект datawarehousing / BI

Но для вещей более разумного масштаба просто выберите тот, который составляет ядро ​​варианта использования, и используйте его для всего.

IMO, сохраняющий пользовательские данные в mongodb - это хорошо - вы можете выполнять атомарные операции над отдельными документами BSON, поэтому такие операции, как «назначить мне это имя пользователя атомарно», выполнимы.С помощью журналов повторов ( - журнал ) (v1.8 +), репликации, репликации с ведомой задержкой можно обеспечить довольно высокий уровень безопасности данных - такой же высокий, как и у других.дб продукты на бумаге.Основным аргументом против безопасности будет то, что продукт является новым, а старое программное обеспечение всегда безопаснее.

Если вам нужно выполнять очень сложные ACID-транзакции, такие как учет, используйте СУБД.

Кроме того, если вам нужно много отчитываться, MySQL может быть лучше на данный момент, особенно если набор данных помещается на одном сервере.Оператор SQL GROUP BY довольно мощный.

3 голосов
/ 28 июня 2011

Вы не будете присоединяться между MongoDB и MySQL.

Я не уверен, что согласен со всеми вашими утверждениями. Относительная скорость лучше всего подходит для вашего случая использования.

Что вам действительно нужно понять, так это относительные сильные и слабые стороны двух баз данных:

  • MySQL поддерживает реляционную модель, наборы и ACID; MongoDB нет.
  • MongoDB лучше подходит для проблем на основе документов, которые могут позволить отказаться от ACID и транзакций.

Это должно быть основой для вашего выбора.

1 голос
/ 28 июня 2011

MongoDB имеет несколько полезных функций для поддержки работы с географическим местоположением.Это, однако, не обязательно быстрее из коробки, чем MySQL.Было проведено множество тестов, которые показывают, что MySQL во многих случаях превосходит MongoDB (например, http://mysqlha.blogspot.com/2010/09/mysql-versus-mongodb-yet-another-silly.html).

. Сказав это, у меня еще не возникла проблема с потерей информации MongoDB во время записи. Я бы предположил, что есливы хотите использовать MongoDB, вы также используете if для пользователей, что позволит избежать необходимости выполнять перекрестные «связи» с базами данных, а затем переносить пользователей в MySQL только в случае необходимости.

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