Reasons Why CouchDB Is Exciting
I've been playing with CouchDB lately, and having a good time getting out of the relational database mindset. I'm not against relational databases, but I do think the time has come to stop thinking they are the only way to store and process data.
There are a few reasons why I think CouchDB is exciting.
There are a few reasons why I think CouchDB is exciting.
- Arbitrary JSON document storage. I like this feature not so much because I'm not required to design a rigid schema, but because it implies that I can store arbitrarily complex and deeply nested data structures. This clears the way for easily storing an object graph without the pains of going through the pains of decomposing into a relational schema.
- Incremental view rebuilds. This is a killer feature for me, because it implies that a small change in the data does not invalidate the entire view.
- Keys can be complex objects. In other words, you can now use an array or hash as a key in a view. For example, a key can be
[2008, 01, 12]
which represents a date. Not only is this more flexible, but it lends itself to some very useful query methods. For example, you can query for a range of keys just on the first part of the array.