MongoDB разонравилась

Очень много раньше хорошего слышал про «Монгу», прочитал по ней пару книг, даже пытался использовать в рабочих проектах. Всё, теперь ни ногой.

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

Во-вторых, «Монга» до сих пор не умеет блокировать при записи только одну строку в коллекции, лочит всю базу, причём до версии 2.2 было ещё хуже — на записи срабатывала глобальная блокировка. В будущем предполагается блокировка на уровне коллекции, а когда это будет делаться на уровне строки — неизвестно.

Естественно, если кто-то один пишет в базу, остальные ждут — читать и писать нельзя. Кроме того, блокировка на запись имеет приоритет. На производительности, конечно, это сказывается всё не лучшим образом.
23 апреля 2013 11:14

Lex Rivera (lex.io)
23 апреля 2013, 11:44

Во-первых, видел как база два раза разлетелась и больше не собиралась. Очень неприятно, одну из коллекций спасти не удалось
Довольно частое явление, к сожалению. У меня был один проект на монге, сборщик логов по syslog. Каждый раз как возникали проблемы с дисковой подсистемой/падением VM/etc база была повреждена настолько, что проще было начать с чистого листа.

.silent (инкогнито)
23 апреля 2013, 11:51

А репликации на что? Или база, если рушится, то и на слейвах тоже?

clops (инкогнито)
23 апреля 2013, 11:59

MongoDB имеет смысл только когда используется Replica Set. Насчёт блокировки — не уверен. Очень шустро работает на ней Workflow процессор на ~2500000 операций в день, атомарные операции выполняю с помощью FindAndModify.

Евгений Степанищев (bolknote.ru)
23 апреля 2013, 12:16, ответ предназначен .silent

А репликации на что? Или база, если рушится, то и на слейвах тоже?
Репликация у нас есть.

Евгений Степанищев (bolknote.ru)
23 апреля 2013, 12:17, ответ предназначен clops

MongoDB имеет смысл только когда используется Replica Set.
У нас используется.
Насчёт блокировки — не уверен
В чём не уверен? Я там ссылку на документацию дал.
Очень шустро работает на ней Workflow процессор на ~2500000 операций в день, атомарные операции выполняю с помощью FindAndModify.
Нагрузка нагрузке рознь. Если операции записи редкие — неудивительно.

deadem (инкогнито)
23 апреля 2013, 12:42

теперь не ногой.
А чем? ;)

Roman Ryaboy (roman.yankovsky.me)
23 апреля 2013, 14:15

А какие впечатления от CouchDB?

Павел (инкогнито)
23 апреля 2013, 14:54

а HandlerSockets не хотите попробовать?

Евгений Степанищев (bolknote.ru)
23 апреля 2013, 15:15, ответ предназначен Roman Ryaboy (roman.yankovsky.me):

А какие впечатления от CouchDB?
Пока не пробовали. Думаю про Elliptics (http://www.ioremap.net/projects/elliptics/).

Евгений Степанищев (bolknote.ru)
23 апреля 2013, 15:17, ответ предназначен Павел

а HandlerSockets не хотите попробовать?
Не знаю пока, там же все недостатки MySQL в полный рост — отсутствие нормальной мастер↔мастер репликации, например. Вот думаем про Elliptics.

Павел (инкогнито)
23 апреля 2013, 15:25, ответ предназначен Евгений Степанищев (bolknote.ru):

Сергей Аверин из badoo только что рассказывал как они хранят сессии и проч. в handlersockets. По времени в одном из кейсов получается даже сопоставимо с мемкешем. И да, mysql master-master у них вроде как при этом используется. В общем если уже есть инфраструктура mysql то вполне вариант попробовать.

mixael.ru (инкогнито)
24 апреля 2013, 08:48

Женя, поговори про элиптикс с бывшими коллегами из Яндекса. Мы тут его конкретно наелись. Т.е. он конечно работает, но его нужно уметь.
С монгой тоже не все гладко, но не на столько

Евгений Степанищев (bolknote.ru)
24 апреля 2013, 09:12, ответ предназначен mixael.ru

Регулярно говорю :) С Лёней Мовсесяном, например :) Мы уже тоже успели понаступать на грабли, но бывшие коллеги не дают опустить руки.

mixael.ru (инкогнито)
25 апреля 2013, 08:28, ответ предназначен Евгений Степанищев (bolknote.ru):

А, ну ок) А внезапное отключение датацентров уже репетировал?

Евгений Степанищев (bolknote.ru)
25 апреля 2013, 12:20, ответ предназначен mixael.ru

Рано ещё :)

Чапоргин Антон (инкогнито)
25 апреля 2013, 22:03

Кладем в нее только кеши :-)

Чапоргин Антон (инкогнито)
25 апреля 2013, 22:08

А про Эллиптикс - работает, конечно! Но нужен вдумчивый администратор, чтобы его правильно готовить.

guest (инкогнито)
26 апреля 2013, 09:48

А когда планируется исправить такое поведение с блокировками никто не в курсе?

Евгений Степанищев (bolknote.ru)
26 апреля 2013, 10:34, ответ предназначен guest

В 2.4 ещё, вроде, не обещают. Что дальше — не знаю, посмотрите их road map.

Vlad (инкогнито)
26 апреля 2013, 16:36

От блокировок спасае шардинг, разлетание базы это ппц

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)