MongoDB или MySQL ?

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
MOTORIST
Сообщения: 245
Зарегистрирован: 2010.06.24, 10:04

MongoDB или MySQL ?

Сообщение MOTORIST »

Всем привет!

Озадачился таким вопросом. Пишу проект в котором будет модуль с сущностями и динамическими атрибутами. Оптимально для этого подходит MongoDB. Со всем остальным справляется MySQL. Пока в голове мысль использовать обе базы данных. Хотелось бы услышать МИНУСЫ MongoDB по сравнению с MySQL?
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Аватара пользователя
Stamm
Сообщения: 407
Зарегистрирован: 2010.03.14, 18:59
Откуда: Россия, Москва
Контактная информация:

Re: MongoDB или MySQL ?

Сообщение Stamm »

Что значит минусы? Это немного другой продукт =)
Единственное что приходит в голову - это нет транзакций
Choo
Сообщения: 154
Зарегистрирован: 2011.09.20, 22:58

Re: MongoDB или MySQL ?

Сообщение Choo »

Я успешно использую mysql + mongodb в пределах одного проекта в зависимости от задачи.
Аватара пользователя
MOTORIST
Сообщения: 245
Зарегистрирован: 2010.06.24, 10:04

Re: MongoDB или MySQL ?

Сообщение MOTORIST »

Stamm писал(а):Что значит минусы? Это немного другой продукт =)
Единственное что приходит в голову - это нет транзакций
Если MongoDB так хорош зачем используют MySQL или это дело привычки?
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Аватара пользователя
Stamm
Сообщения: 407
Зарегистрирован: 2010.03.14, 18:59
Откуда: Россия, Москва
Контактная информация:

Re: MongoDB или MySQL ?

Сообщение Stamm »

Есть несколько причин для этого.
Первая причина - это надёжность. Чтобы полностью заменить mysql, нужно поднимать 3 инстанса монги, потому что есть верояность, что mongodb упадёт. А MySQL уже пилят много лет и в целом продукт стабильный. Хотя на проекте Яндекс.Диске используют mongodb и не жаловались на субботнике.
Вторая причина - под php драйвер ужасно нестабильный (Вылетал с segmentation fault и с couldnt send query). Мы сейчас юзаем версию 1.2.6, хотя уже есть версия 1.2.12.

А так mongodb мне нравится. Но использовать нужно с умом и в нужных применениях, как собственно и любой другой инструмент.
Последний раз редактировалось Stamm 2012.08.02, 22:55, всего редактировалось 1 раз.
Аватара пользователя
MOTORIST
Сообщения: 245
Зарегистрирован: 2010.06.24, 10:04

Re: MongoDB или MySQL ?

Сообщение MOTORIST »

Ок. Спасибо за консультацию.
В сознании новичка много возможностей, в сознании эксперта — лишь несколько.
Аватара пользователя
Jazz
Сообщения: 41
Зарегистрирован: 2012.01.10, 16:54

Re: MongoDB или MySQL ?

Сообщение Jazz »

Если использовать обе базы, то по каким критериям распределять их "обязанности" (что где хранить и что для чего лучше использовать)? Можно ли как-то в общем тезисно ответить на этот вопрос?
Аватара пользователя
Stamm
Сообщения: 407
Зарегистрирован: 2010.03.14, 18:59
Откуда: Россия, Москва
Контактная информация:

Re: MongoDB или MySQL ?

Сообщение Stamm »

Если собираетесь использовать сразу две базы, то задумайтесь сразу о синхронизации, тут могут возникнуть трудности.

Монга отлично подходит под
* логи
* данные, которые организовывались через EAV на РСУБД, например товары, у которых разный набор характеристик

Я бы очень не рекомендовал внутри одного продукта, читай одного веб-сайта делать модели с разными БД. Тут будет больше мороки, чем пользы.
Аватара пользователя
Jazz
Сообщения: 41
Зарегистрирован: 2012.01.10, 16:54

Re: MongoDB или MySQL ?

Сообщение Jazz »

Спасибо, Stamm. В общем, нужно смотреть, работы с какими данными будет больше, и исходя из этого выбирать что-то одно (хотя подход с 2-мя БД широко используется). Просто термин Not Only SQL как бы намекает...)
YaZabylStariyNick
Сообщения: 130
Зарегистрирован: 2012.06.13, 12:48

Re: MongoDB или MySQL ?

Сообщение YaZabylStariyNick »

что есть верояность, что mongodb упадёт
Да лааадно. Ни разу не падала, не выдумывайте. Если бы она падала так ак вы пишете, тот же яндекс бы не использовал.
Вылетал с segmentation fault и с couldnt send query
обрабатывали на пхп и пихали в монгу огромные XML-и, ничего не падало никогда, хз с какой версией драйвера правда. Но все же - не выдумывайте. Это ваши локальные проблемы, а не глобальные.
Если MongoDB так хорош зачем используют MySQL или это дело привычки?
А вы не понимаете сути. Монго и мускл -это 2 кардинально разные бд, с кардинально разным подходом к хранению данных. У них разные цели и предназначение.
И если вы не знаете точно, то монго вам не нужна, а вероятно будет достаточно использовать паттерн EAV,весьма красивая реализация которого есть на Yii - viewtopic.php?f=9&t=383 и https://github.com/yiiext/eav-behavior - я думаю вам этого будет достаточно.
Эти 2 базы бывают используют вместе, для определенного профита, но надо точно понимать что и зачем. Чем вы явно похвастаться не можете.
Аватара пользователя
mitaichik
Сообщения: 512
Зарегистрирован: 2010.09.24, 21:18
Откуда: Россия, Санкт-Петербург

Re: MongoDB или MySQL ?

Сообщение mitaichik »

У меня конечно не большой опыт работы с монго, но:

Из плюсов:
- ИМХО, она реально удобней при работе с динамическими сущностями
- Ни разу не падала

Из минусов:
- Кода придется писать больше
- Нет удобных программ для работы с монго (редактирование, просмотр данных, составление запросов)
Аватара пользователя
Jazz
Сообщения: 41
Зарегистрирован: 2012.01.10, 16:54

Re: MongoDB или MySQL ?

Сообщение Jazz »

- Нет удобных программ для работы с монго (редактирование, просмотр данных, составление запросов)
Пользуюсь rockmongo. Не фонтан, конечно, но за неимением лучшего... Впрочем, вы наверное, в курсе)
Аватара пользователя
Stamm
Сообщения: 407
Зарегистрирован: 2010.03.14, 18:59
Откуда: Россия, Москва
Контактная информация:

Re: MongoDB или MySQL ?

Сообщение Stamm »

YaZabylStariyNick писал(а):
что есть верояность, что mongodb упадёт
Да лааадно. Ни разу не падала, не выдумывайте. Если бы она падала так ак вы пишете, тот же яндекс бы не использовал.
Накладно =) Если у вас не падала, то это не значит, что нет вероятности её падения. У нас тоже не падала.
Поищите по слову crash в монговской джире.
Падение монги решается реплика-сетом, но это нужно как минимум 3 тачки, ну или 3 демона на одной машине, т.е. нужно заморочить админа, если такой имеется. А если нет - то самому. Вот что я имел ввиду.
YaZabylStariyNick писал(а):
Вылетал с segmentation fault и с couldnt send query
обрабатывали на пхп и пихали в монгу огромные XML-и, ничего не падало никогда, хз с какой версией драйвера правда. Но все же - не выдумывайте. Это ваши локальные проблемы, а не глобальные.
Я не выдумываю, я говорю как есть. Начали использовать версию 1.2.8. Она бажила и пых вылетал с segmentation fault. Нашли такую же ошибку в интернетах, человек даунгреднулся - и у него всё заработало. Также поступили, сначала поставили 1.2.7 - глючила также, поставили 1.2.6 - перестала глючить. Потом я решил на одном сервере обновить до 1.2.11 - также падала, откатилсь. Это факт, а не локальные проблемы. Локальная проблема - это когда у меня на маке падает, а на CentOs не падает. А если падает и там, и там, то это глобальная проблема, но в каких то определённых ситуациях, которые мы там и не определили.


У вас интересная точка зрения: у меня этого не было, значит этого не может быть в принципе. Я не считаю эту точку зрения правильной.
И не выдумывайте, что я выдумал!
YaZabylStariyNick
Сообщения: 130
Зарегистрирован: 2012.06.13, 12:48

Re: MongoDB или MySQL ?

Сообщение YaZabylStariyNick »

mitaichik писал(а): Из минусов:
- Кода придется писать больше
Спорно на самом деле. Монго своей структурой не дает сделать запросов на десятки строк. А вот скл запросы с кучей джоинов..
mitaichik писал(а): - Нет удобных программ для работы с монго (редактирование, просмотр данных, составление запросов)
На вкус и цвет :)
rockmongo, phpmoadmin.

Мне так было достаточно самого mongoshell-a к-й вместе с ней идет.
YaZabylStariyNick
Сообщения: 130
Зарегистрирован: 2012.06.13, 12:48

Re: MongoDB или MySQL ?

Сообщение YaZabylStariyNick »

1.2.7 - глючила также, поставили 1.2.6 - перестала глючить
Я честно не знаю про версии к-й юзались у нас, это было прошлой осенью\зимой. Но тогда под дебианом на сервере и убунтами на рабочиз машинах все работало по сути из коробки с последними на тот момент версиями драйверов. А вообще печально вамиописанное, да.
Если у вас не падала, то это не значит, что нет вероятности её падения. У нас тоже не падала.
Мы смело держали в монге пару десятков гб данных, нормально вроде все было. И у вас все было нормально :) А то что у кого-то там где-то.. Так уверен что и по мускл можно нагуглить ошибки что он не работает у кого-то.
Ответить