Я попробовал MongoMapper, и это - завершенная функция (предлагающий почти всю функциональность AR), но я не был очень доволен производительностью при использовании больших наборов данных. Кто-либо имеет по сравнению с Mongoid? Какое-либо увеличение производительности?
sudo gem install mongo_ext
является ключом к получению производительности.
MongoDB сдувает CouchDB с точки зрения скорости работы - хотя CDB имеет свой собственный набор преимуществ.
Установили ли вы mongo_ext? Я думаю, что производительность больше связана с драйвером, чем с самим маппером. Глядя на лог mongo, я вижу без расширения, что у трансера, похоже, есть какие-то лаги.
Также делайте, как они рекомендуют на сайте monogdb, выбирайте только нужные вам поля.
.Я ожидал, что производительность будет такой же. В прошлый раз, когда я проверял, что в MongoMapper не хватает поддержки Rails 3, я пока смотрю на Mongoid.
Провел некоторое тестирование с MongoMapper на прошлой неделе, он был стабильным, но я обнаружил, что интерфейс запроса немного ограничен (также часть логики AR была необычной), сегодня переключился на Mongoid, и он чувствует себя намного лучше в использовании - и более интуитивно понятным, если вы привыкли к AR.
Пока нет выводов о скорости, но переключение прошло безболезненно - он работает и с Rails 3.
Я использовал оба последние пару недель. Mongomapper лучше поддерживает реляционные ассоциации (не встроенные) и имеет большую стороннюю поддержку. Mongoid имеет лучшую поддержку запросов, гораздо лучшую документацию (у MM ее почти нет, хотя веб-сайт предположительно находится в разработке), поддержка Rail 3 (и, следовательно, поддержка Devise) и немного более активное сообщество в группах Google.
В итоге я выбрал Mongoid.