2010-08-23 1 views
16

Я думаю, что эти три являются самыми популярными нереляционными db: s там в этот момент.Cassandra, mongodb или couchdb для Ruby on Rails

Я хочу дать им попробовать, но мне интересно, какой из них наиболее подходит для Rails, когда дело доходит до Gem, документации и поддержки учебников.

Например. если я устанавливаю очень хороший камень, который предназначен для Rails, но это просто использует AR и mongodb, то было бы жаль, что я не использовал mongodb.

  • Сколько драгоценных камней поддерживает каждую из этих баз данных?

  • Какой из них является самым популярным и основным потоком в сообществе рубинов/рельсов, поэтому у него больше онлайн-документации/учебников?

  • Какая из них обеспечивает плотную интеграцию Rails?

+12

С уважением, я считаю, что это неправильная отправная точка для принятия решения о применении одного из этих приложений. У них очень разные сильные и слабые стороны, и в значительной степени это не имеет значения, у кого есть лучшая поддержка рубинов/рельсов, если это совершенно неправильно для того, что нужно выполнить вашему приложению. –

+3

Если вам нужна популярность и тесная интеграция, MySQL в 100 раз больше популярен в развертывании Rails и легко интегрируется с максимальной плотностью. Вероятно, дождь тоже станет соперником. Если вы хотите учиться, я бы предложил попробовать несколько БД, пока вы не найдете что-то, что вам удобно. – JasonSmith

ответ

17

Чтобы сделать информированный выбор, вы будете действительно нужно знать вашу модель данных. MongoDB и CouchDB - это хранилища данных, ориентированные на документы. Кассандра совсем другая, она немного более целевая, а ее распределенный дизайн - ее сила. Это скорее распределенное хранилище ключей/значений, но с сортировкой по шкале, сортировкой по времени, диапазоном запросов с ограниченными типами данных. Если у вас было огромное количество данных и точно знал, как нужно индексировать их для извлечения, Cassandra может работать. Mongo и Couch лучше подходят для специальных запросов и, например, замены AR для приложения Rails.

Что касается популярности, я бы сказал, что MongoDB в настоящее время более популярен среди рубистов, но в целом CouchDB, похоже, имеет больше разума и большой импульс.

См. Также http://nosql-database.org/ для получения дополнительной информации о различиях.

5

Я лично использовал «mongoid» недавно, и он работал очень хорошо. Следует иметь в виду, что они более активны в отрасли Rails 3.0, поэтому не все функции, перечисленные на их веб-сайте, работают в Rails 2.x (например, ссылки). Я также попытался использовать «Devise/Warden» для аутентификации, и он отлично работал в Rails 3.0, но не поддерживал Rails 2.x + mongoid (хотя поддерживается mongomapper)

+0

Отлично, что Devise работает с Mongodb! Знаете ли вы, поддерживает ли он другие 2? –

+1

Вот что поддерживается в master (Rails 3.x): http://github.com/plataformatec/devise/tree/master/lib/devise/orm/ и вот что в 1.0.x (Rails 2.x): http : //github.com/plataformatec/devise/tree/v1.0/lib/devise/orm – Zepplock

+1

Мне кажется, что mongodb является самым популярным для рубинов и рельсов. что правильно для других камней тоже вы думаете? –