Подтвердить что ты не робот

Cassandra, mongodb или couchdb для Ruby on Rails

Я думаю, что эти три являются самыми популярными нереляционными db: s там в данный момент.

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

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

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

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

  • Какой из них предлагает жесткую интеграцию Rails?

4b9b3361

Ответ 1

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

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

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

Ответ 2

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