Using CouchDB, or any relatively new open source software, requires much work and dedication.
Here I present my list of my favorite reasons to use CouchDB:
It’s Made of the Web
- All database operations are through REST verbs—a browser or CURL are all you need to get started!
- Etags mean documents and views are ready for caching
- JSON representation of all data means no-brainer mapping to programming language constructs
- JavaScript for all scripting duties means no context swaps
Map-Reduce Indexing
- Map-reduce functions are side-effect free, and easy to reason about using imperative OR functional techniques
- View indexes execute explicitly, whereas SQL gurus use voodoo to change queries, hoping that the query planner decides to use the correct index
- Functional JavaScript programming techniques can succinctly express map-reduce logic
- It’s the algorithm that powers Google!
The Meek Shall Inherit the Earth(‘s Data)
- Schema-less database removes impediments to change
- Flat key-value storage is easy to reason about
- UUIDs, instead of sequence IDs, means any two databases can replicate documents
- Seriously easy replication: Push/Pull == POST/GET
- AJAX-only CouchApps + Easy replication == open source apps + viral databases
Of course, swapping your SQL brain out, for a Map-Reduce one, takes a bit of time. In my opinion, however, CouchDB’s feature set, maps better to the requirements for many up-and-coming websites.
Advertisement