У меня есть приложение, полностью работающее с PostgreSql. Прочитав о Mongodb, мне было интересно посмотреть, как приложение будет работать с ним. Через несколько недель я перенес всю систему в Mongodb.
Мне нравится кое-что с Мондомбом. Тем не менее, я нашел определенные запросы, которые я делал в PostgreSql, я не мог эффективно работать в Mongodb. Особенно, когда мне пришлось присоединиться к нескольким таблицам, чтобы вычислить некоторую логику. Например, this.
Кроме того, я использую Ruby on Rails 3 и ODM, называемый Mongoid. Mongoid все еще находится в бета-версии. Документация была хорошей, но опять же, порой я обнаружил, что ODM является очень ограниченным по сравнению с тем, что Active Record предлагает с традиционными (SQL) системами баз данных.
Даже до этой даты я чувствую себя более комфортно, работая с PostgreSql, чем Mongodb. Только потому, что я могу присоединиться к таблицам и делать что-либо с данными.
Я создал два типа резервных копий. Один с PostgreSql и другой с Mongodb. Некоторые говорят, что некоторые приложения более подходят с одним или другим типом db. Должен ли я продолжать работу с Mongodb и в конечном итоге надеяться на то, что его RoR ODM (Mongoid) будет полностью созрел, или я должен использовать PostgreSql?
Еще несколько вопросов: 1) Какой из них более подходит для разработки сайта социальной сети, подобного Facebook. 2) Какой из них более подходит для 4-страничного стандартного макета типа сайта (Главная, Продукты, О нас, Контакты)