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?

  • I started off working in the UNIX kernel (V6 anyone?) and there’s no stinking databases in there… just some filesystem stuff
  • After learning and using C, I jumped to Smalltalk and like a newborn duckling, I was imprinted by the Smalltalk view of the world – which forever set my idea about persistent data + behavior.
  • Along the way, I bumped into Thomas Malone’s work on Object Lens and OVAL – which further evolved my thinking about collaborative work, semi-structured data and toolkits to enable end-users to compose their own tools; incuding the notion that not every object needs behavior- sometimes it’s just data (e.g. the archetypical business card is just some useful semi-structure data).
  • And finally – the cognitive dissonance between the relational model and the common OO / prototype-based languages / domain models was constantly bothered me.

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.

Advertisement

2 responses to “Oh CouchDB, Why Do I Love Thee So…?”

  1. […] Steve Sanderson :: Oh CouchDB, Why Do I Love Thee So…? […]

  2. 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?[…]…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: