16

I am currently investigating possible applications of CouchDB on my current project (written in Rails) and would like to get some feedback from people who have actually used these APIs. Which would you recommend and why?

  • ActiveCouch
  • CouchFoo
  • CouchRest
  • CouchRest-Rails
  • CouchPotato
shingara
  • 46,608
  • 11
  • 99
  • 105
Matt Baker
  • 3,394
  • 3
  • 25
  • 35
  • do you have to use CouchDB? If alternatives are possible, you could do worse than look at some of the fairly stable APIs that are available for MongoDB. – davek Mar 14 '10 at 20:53
  • 1
    The major reason I am exploring Couch over Mongo is Couch's claim of built-in versioning. All versions of the majority of my models need to be retained indefinitely. Unless I missed something in the Mongo documentation I don't believe this was built-in. Obviously immutable models is fairly trivial (create a new model every time, sort by created_at, etc) but if its one less thing I have to worry about in my code that's all the better. – Matt Baker Mar 15 '10 at 19:36
  • CouchDB is *awesome* and the only (open source) solution for certain problems, but I don't think the built-in versioning is a good reason to choose CouchDB over Mongo. If you need the versions to stick around indefinitely, you might end up rolling your own anyway, since (last time I checked) they get deleted when you compact the database, and you have more control over something you build yourself anyway. Choose Couch if you want infinite scaling, offline access, and can live with eventual consistency, and the lack of dynamic queries, which is normally no problem. – iconoclast Mar 08 '11 at 01:51
  • Mongo is also awesome, but is built with different values and design goals. The choice is not necessarily a simple one, but Mongo will be less of a departure from traditional approaches, and so many people find it more comfortable. It is also blazingly fast (but CouchDB might catch up with the Membase merger... stay tuned), which appeals to people who are more concerned with speed than scalability & availability. (Not to suggest Mongo can't be scaled and be highly available, but AFAIK nothing beats Couch in this area.) – iconoclast Mar 08 '11 at 01:54

3 Answers3

9

The basic layer of CouchRest is probably the best to get started, CouchPotato is the most active for Rails integration, SimplyStored adds some nicities on top of CouchPotato

Jan Lehnardt
  • 2,619
  • 1
  • 17
  • 14
3

With Rails 3 use (or at least seriously consider using) CouchRest Model. It appears to be well maintained, since as of this update on 2013/12/19 I see several changes that are only 2 weeks old.

Before considering SimplyStored, you should note that they give this warning on Github:

Development work as stopped as we don't use SimplyStored anymore. Please do not expect any future commits and fixes.

Perhaps someone will pick it up, as it looks very useful.

iconoclast
  • 21,213
  • 15
  • 102
  • 138
  • 2
    you should watch Tim Anglade about CouchRest_Model http://www.youtube.com/watch?v=zEMfvCqVL4E – hdorio Mar 14 '12 at 02:08
1

I am going through the same process. You might find SimplyStored interesting if you haven't already given it a look.

http://github.com/peritor/simply_stored