Hacker News new | ask | show | jobs
by bham 6029 days ago
What is your take on CouchDB? After some initial investigation, I've all but written off CouchDB for anything moderately write-heavy due to its single writer at a time design. I'm by no means an expert on that however. Please tell me what I'm missing about CouchDB.
2 comments

I tested various NoSQL solutions including CouchDB for my research work. It was the most pleasurable to work with, but by far the slowest. Bulk inserts weren't an option for me, so I had to insert each document one at a time. Insertion time averaged at ~2.5 seconds(!) These documents were very small, and the insert operations were single-threaded, so the write lock wasn't an issue. Compare this with ~150 microseconds on the datastore I implemented instead, or (from what I remember) even better performance on Tokyo Tyrant.

I used CouchDBX on a MacBook laptop with no adjusted settings. Something must have been off, but after reading so many articles talking about how alpha the product was and hitting these insane performance limitations, I wasn't willing to venture any further in experimenting with it.

Take a look at this also: http://news.ycombinator.com/item?id=942810

CouchDB is conceptually promising (especially when combined with HTML5 - that's an awesome solution waiting to happen) but its performance is crippling IMO. I can't wait until the team starts focusing on performance tuning. Perhaps then we'll see a very practical and useful datastore.

If I recall Damien Katz recently added a "many writers" patch.
Yep, Damien's patch greatly improved CouchDB's write throughput for the case where you've got a pool of processes trying to write to the same DB simultaneously.