I've followed the CouchDB project with interest over the last couple of years, and see it is now an Apache Incubator project. Prior to that, the CouchDB web site was full of do not use for production code type disclaimers, so I'd done no more than keep an eye on it. I'd be interested to know your experiences if you've been using CouchDB either for a live project, or a technology pilot.
7 Answers
After 18 Months of prototypes, testing and waiting for CouchDb to get ready we moved an internal application over to CouchDB in December 2008. So far I'm very happy with that move. It gets rid of a lot of filesystem objects for us (PDFs and JPEGs, now stored as attachments in CouchDB). This enables us to get rid of NFS and easier cluster/replicate our frontend webservers.
To what degree CouchDB is ready for you depends very much on the culture of your organization. We have an in-house development team maintaining several internal Erlang applications. Since CouchDB is written in Erlang and the codebase is of quite decent quality we felt confident that we could fix show stopper issues in CouchDB should the need arise - or at least get our data back out. We also hired one of the CouchDB core team as an consultant - just in case.
But CouchDB for sure isn't 1.0 yet. There are crashes in the Web worker processes all the time (if you misuse them). Replication breaks for us and we don't get error messages about it. Documentation is still very lacking. Still I'm confident that it will not eat our data and development moves forward with reasonable pace.
To give you an idea about our application: currently our biggest database is about 512000 records taking 7.5 GB of diskspace.

- 96,640
- 56
- 199
- 270

- 29,122
- 12
- 52
- 79
-
11Wa are now running happily with a 32 GB database. – max Feb 18 '09 at 20:23
-
11Short update: the setup is running now for 6 months with zero maintenance on internal and public websites. So CouchDB IS ready for production. At least for us. – max Jun 28 '09 at 09:23
-
1@mdorseif Really appreciate the follows up you posted, so how's the couch one year later? :) – David Jan 04 '10 at 13:50
-
1We found out CouchBD replication doesn't work well for Databases with lots of large attachments. So we now put the attachment data (JPEGs, PDFs) in Amazon S3 and leave only the Meta-Data into CouchDB. The Biggest DB is now slightly over 1 GB with 1000777 records. http://github.com/hudora/huImages#readme has some code we are using. – max Jan 05 '10 at 21:46
-
2CouchDB core member Filipe Manana recently released his replicator rewrite which specifically optimizes replicating with large attachments. It is not official CouchDB yet however it surely will be. No doubt when the code becomes part of a stable release, that will be heavily promoted as a key feature. – JasonSmith Jan 19 '11 at 08:01
I use the CouchDB to power a Facebook application (over 35k monthly active users). For a while it was using MySQL but after porting the entire project over from Perl to Erlang, I decided to go for the gold and migrate all of the data into CouchDB and use that instead.
CouchDB has been a great data store to work with. I think that it is on track to becoming a major player in web-based services.

- 1,432
- 1
- 11
- 20
-
2I take it you'd still say that even for a project that wasn't going to be using Erlang? – reefnet_alex Sep 24 '08 at 08:06
-
I got to know one of the people (Jan) working on it a while ago (like 6 months) and have been playing with it ever since. I found the community around CouchDB to be both very knowledgable and helpful so that whenever I ran into an issue it was resolved in a matter of minutes or hours at least.
We just kicked off a project the other week which basically requires us to store data in the non-relational way and due to CouchDB's document oriented store we selected it as one of the technologies to use. So this is actually the first time that I will run it in production, but I'm still pretty confident about it. :)
Just an update here (2009-10-25):
Our first CouchDB install is 20 GB, it hosts 40 million records. It's been running in production since January 2009, and it's been great. Read (GET
) speed is outstanding and we use it as a store for complex data, and then it's just pull.
Our second couchdb installment has two databases, one is 160,000,000+ documents (210 GB), and growing between 150,000-300,000 documents a day. The other is only 35,000,000 documents (7 GB). This setup has a lot more reads and writes and initial tests are performing very well.
View building on the 160,000,000 document database took roughly a week, but since then we upgraded to a larger Amazon EC2 instance and we are also getting ready to update to CouchDB 0.10.x
(from 0.9.1
) as this release includes a lot of performance improvements in view building.

- 22,236
- 4
- 59
- 89
-
this was why I was looking at it. We looked at Xindice and TextML xml databases a few years back for a project which was crying out for non-square data storage. I wonder if I were to look at the project today would I look beyond CouchDB... – reefnet_alex Sep 24 '08 at 20:14
-
I am using couchdb in a few scenarios, as a document store for http://devk.it (under development) and in a much larger scale as a template store for a distributed email delivery system.
CouchDB is very slick for what it does, but I was not able to get it to run at as high of a concurrency level as I would have expected. Also note that the maximum document size is fairly limiting at 1MB due to the hardcoded max input buffer size in mochiweb. You can however alter a header file and recompile to get around this limit.

- 4,551
- 4
- 33
- 29
-
interesting to hear about the max document size and the workaround. Devk.it looks like it will be a useful application – reefnet_alex Sep 24 '08 at 20:12
-
5
-
It didn't at the time I ran into it :) Glad to see this has been extended. – Gavin M. Roy Apr 13 '10 at 20:57
I'm using CouchDB to store (and serve) article ratings on my blog. It's not exactly heavy traffic but it's been rock solid so far.
Also planning on adding comments sometime which I'll most likely also store in CouchDB.
I've found it quite easy to get started with, on OSX you can just download CouchDBX to get started quickly. I use a Sinatra backend with RestClient to interact with 'the couch' through straight HTTP verbs and such.
Great fun.

- 30,053
- 5
- 59
- 54
At the moment I'm working with CouchDB for a computer science thesis. I'm writing about my progresses and opinions on my blog, http://metalelf0dev.blogspot.com. I think the project is well done, but the existing documentation isn't organized as it should. A quick tutorial about the Futon web interface could be really useful for starters IMHO :)
I used couchdb twice in production. First was the wiki likes project and I think that couchdb was perfect candidate for that role. Saving the version of all docs helps a lot. The second project was quite query loaded and idea was dumping social data first, then query it with various filters. It was looked like standard CouchDB query features looks a bit pure for our needs. But we add Lucene like a full text indexer and after that doing many queries during Lucene part. And that solution looks good enough.

- 9,943
- 8
- 48
- 97