couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith Gable <>
Subject Re: simple use cases for couch db
Date Thu, 18 Nov 2010 04:33:04 GMT
On Wed, 2010-11-17 at 22:18 -0600, Andy wrote:
<snip due to Evolution refusing to wrap your message>

Without touching the replication or offline/online stuff as I haven't
used it yet...

CouchDB is useful any time that you would be using a serialized (aka XML
aka JSON aka YAML) column in a relational database. It also works better
for mainly read situations and situations where your queries can be
prewritten and made into Map/Reduce. CouchDB can be used to augment a
RDBMS when you do need to store variable amounts of related structured
data, and it wouldn't surprise me that if at some point someone actually
builds CouchDB into an RDBMS to handle the serialized columns.

The biggest hurdle you have to overcome though is Map/Reduce. Many
queries can't be done in Map/Reduce without some thought, and you have
to think about the startkey/endkey used to query the views as the
"WHERE" portion of your query. It's not nearly as flexible as SQL is,
but it definitely works and is a tool you can use when appropriate.

Apps I'd use CouchDB for: CRM, log aggregator, any app which has
relationships between drastically different object types that should be
in the same table due to a basic commonality (and/or the fact that
JOINing 10 tables together is not fun), MusicBrainz or equavilent,
metadata-heavy apps, metadata aggregators.

I'm not sure I'd use the attachment functionality for larger files
though. But nothing is stopping you from having a "file_uri" property
and pointing it at S3 or whatever.

View raw message