
Why CouchDB Sucks - nickb
http://www.eflorenzano.com/blog/post/why-couchdb-sucks/
======
qhoxie
His points are fair, but it should be titled _What CouchDB Sucks at Doing_ ,
because it is far from sucking, and he concedes that.

~~~
ericflo
I'll agree with that :) I did chose an overly controversial title. My
apologies.

~~~
jwilliams
Well your first line is _CouchDB really sucks at doing some things_ , so it's
not so bad :)

Where you (found that) CouchDB did fit, how did you find it?

~~~
ericflo
For everything that I've used it for, it's been fantastic.

I was part of a team that built a social web crawler to look for XFN links. It
worked fantastically for that.

I used it to create the tumblog on my website, which is pretty much an ideal
use case for it. The source code for that is available so you can check it out
here: [http://github.com/ericflo/django-couch-
lifestream/tree/maste...](http://github.com/ericflo/django-couch-
lifestream/tree/master)

------
cmars232
At my day job I've found Lucene to outperform CouchDB in query performance by
orders of magnitude. I deal with a huge volume of manufacturing data, some of
which fits into a "document model". The Solr frontend to Lucene is a poor
substitute for CouchDB's web APIs though, too much configuration required --
it was easier to roll my own REST-ish front end with JSPs.

------
bitdiddle
Well you can't bone a chicken drumstick very easily with a bread knife, so why
would one try to use CouchDB as a relational database. I really fail to see
the point of this article, particularly given the title

~~~
wmf
Unfortunately, I think too many people are using Fad-Driven Development where
you use the newest and coolest tools even if they're totally inappropriate.
The parade of articles about how Relational Databases Are Dead (even if your
data is relational?) doesn't help, so I see this post as a nice counterpoint.
The title is indeed trollicious.

~~~
bitdiddle
Fad-Driven Development, I love it :) Sounds like a new O'Reilly book in
progress.

Well certainly the changing landscape of the Web has caused many to revisit
the use of relational databases. There's considerable overlap with what app
servers do, schemas are static beasts in general and often create application
lock-in, bla, bla.. There is a fundamental tension in O-R mapping that I've
concluded is best solved by dropping the R and using alternative persistence
models.

That said, relational databases are phenomenal and aren't going away anytime
soon.

I think CouchDB hits a sweet spot in a number of areas and is worth a very
close look. It's still early and needs a lot of work but I think it's a
keeper, especially given it's use of Erlang/OTP. Erlang is very mature and
though it wasn't built with multi-cores in mind it's concurrency model is one
of the few games around.

------
sh1mmer
This should be called "Where CouchDB Sucks" he highlights some points but also
concedes it's great in many places. Frankly a lot of his criticisms are openly
pointed out by the CouchDB docs.

------
jsmcgd
When do you use Couchdb then?

