CouchDB for the relational

Baron Schwartz, the lead author of Oreilly’s “High Performance MySQL: Optimization, Backups, Replication, and More

“, has an excellent write up on his blog about CouchDB entitled “A gentle introduction to CouchDB for relational practitioners“, which as his title implies, introduces CouchDB‘s document oriented nature and how it’s different than relational models. Having attempted to describe CouchDB before, I must admit, Baron has done a tremendously better job. In particular, Baron’s obvious expertise in the relational world makes his description of CouchDB, and when it makes sense to employ it, quite credible.

As he states,

…I got asked recently to help with a database that’ll store records about people…it’s a terrible match for a relational database, and an excellent fit for a document-oriented one. The inputs are going to be arbitrary documents with different structures, such as census records, birth records, tax records, estate and probate records, marriage records, and so on.

Indeed, I seem to automatically think document oriented datastores when I find myself in a domain that naturally confines itself to documents — tickets, business cards, etc. Not that document oriented datastores are limited to such domains; nevertheless, in these cases, you’ll find that relational-izing them is often quite painful.

Take a peek at Baron’s blog article and while you’re at it, read my article on CouchDB dubbed “REST up with CouchDB and Groovy’s RESTClient” and watch my video which shows how to provision an instance of CouchDB on EC2.

Looking to spin up Continuous Integration quickly? Check out

This story, "CouchDB for the relational" was originally published by JavaWorld.


Copyright © 2010 IDG Communications, Inc.