весрии 4.2 многоузловый).
                  
                  
                  
                  
                  
                  Только буковка I  - немного не та I, которая в PG возможна (не SSI). Хотя должна удовлетворять SI. Кажется, в моих задачах всегда хватало SI.
                  
                  
                  И, судя по тестам jepsen, SI не гарантирован пока что (я так понял, что там просто баги разработчиков, связанные с повторами, поправьте, если не так).
                  
                  
                  
                  
                  
                  Я работал с mongodb, когда были весрии 2.*. Те версии отбили всё желание иметь с этой базой что-либо общего, потому что рано или поздно нужны были транзакции, приходилось их там реализовывать из приложения.
                  
                  
                  
                  
                  
                  Как пользователя этой БД мне не нравилось следующее:
                  
                  
                  1. отсутствие схемы (попробуйте написать там запросы, который сделает хоть что-то хотя бы тривиальное, когда у вас внезапно в поле хранится строка, массив, objectId, null)
                  
                  
                  Да, там вроде в версии 3.* добавили ограничения на тип и можно даже схему указать (поправьте, если не так).
                  
                  
                  2. отсутствие join-ов.
                  
                  
                  Да, где-то в 3.* добавили join-ы по object_id, но в жизни не всегда так приходиться join-ить.
                  
                  
                  Если вы думаете, что хотеть join-ить в mongodb - это неправильно продуманная схема, то вы ошибаетесь, когда посмотрите на максимальный размер документа. Он не является неограниченным.
                  
                  
                  3. монструозность запросов
                  
                  
                  Попробуйте написать нетривиальный запрос в mongodb и потом такой же запрос в postregsql. Разница налицо.
                  
                  
                  У меня в pg были запросы на 3 экрана, думаю, что в mongodb написать аналогичный  запрос - это всё равно, что написать книгу (да, преувеличиваю, но иначе читать скучно 😊).
                  
                  
                  4. отсутствие транзакции
                  
                  
                  Несколько раз думал, что транзакции не нужны в проекте и брал эту БД, но проект растёт, изменяется и рано или поздно они нужны. У меня было так 2 раза.
                  
                  
                  Да, в 4.* их добавили. Да, там баги есть, но это потому что транзакциям года 1.5-2 жизни. Скорей всего те гарантии, которые дают в mongodb мне бы хватило, это потому что у меня проекты такие. Совершенно точно понятно, что это далеко не для всех.
                  
                  
                  
                  
                  
                  Кто знает кейсы использования этой СУБД?)
                  
                  
                
Из кейсов: хранение кэша. Без какой либо логики. ВСе данные о пользователях хранились как правило в бд рядом. Например, мускул или постгрес. Монго использовали только как хранилище кэша, который не страшно потерять
Обсуждают сегодня