Published on [Permalink]
Reading time: 2 minutes
Posted in:

Oh CouchDB, Why Do I Love Thee So...?

Ok, so why are my friends and co-workers noticing my minor obsession about CouchDB? There’s a few reasons. First, I have a long-term unlove-affair with RDBMS. Why?

Yes - I know they’ve been effective and have benefit in lots of scenarios, however…

Secondly, for a piece of ‘middleware’, CouchDB has great elegance and great congruence with the bevy of potential uses, i.e. it appears to afford us the possibility to think about our problem/solution domains and our softwares internal models in in very similar fashions - with some very interesting beneficial side-effects (e.g. eventual consistency, availability)

And finally, there’s some rumblings of a new application model all together - reminiscent of the agents buzz from over a decade ago, i.e. Chris Anderson’s Sharable apps - where a CouchDB instance is sufficiently capable to become an application platform and that via the synchronization model, multiple instances of an application could run in a distributed & isolated manner and then synchronize and migrate as needed to different environments, i.e. run locally on laptops and sync and migrate up to centralized servers and then back down as needed. Instead of a rigid & pre-defined deployment structure, it’s more of an organic ‘shape’ adjusting as needed. If this is a new degree of freedom, the potential is huge.

So, while I’m looking for the right opportunity to try some of these ideas out - I’ll continue this minor obsession and see where it leads.