Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cassandra, mongodb or couchdb for Ruby on Rails [closed]

I think these three are the most popular non-relational db:s out there at this moment.

I want to give them a try, but I wonder which one of these are most suitable for Rails when it comes to Gem, documentation and tutorial support.

Eg. if I install a very good gem that is for Rails but this just use AR and mongodb, then it would be a pity I didn't use mongodb.

  • How many gems are supporting each one of these databases?

  • Which one is the most popular and main-stream in ruby/rails community, thus has more online documentations/tutorials?

  • Which one offers tight integration of Rails?

like image 422
never_had_a_name Avatar asked Aug 23 '10 18:08

never_had_a_name


1 Answers

To make an informed selection, you'll really need to know your data model. MongoDB and CouchDB are document-oriented data stores. Cassandra is quite different, it is a bit more special-purpose and its distributed design is its strength. It's more of a distributed key/value store but with slicing, timestamp sorting, range queries, with limited data types. If you had a huge amount of data and knew exactly how it needed to be indexed for retrieval, Cassandra might work. Mongo and Couch are better for ad-hoc queries, and for example an AR replacement for a Rails app.

As far as popularity, I'd say MongoDB is currently more popular with Rubyists, but in general CouchDB seems to have more mindshare and a lot of momentum.

See also http://nosql-database.org/ for more information on the differences.

like image 123
Mark Thomas Avatar answered Oct 14 '22 09:10

Mark Thomas