Document databases
I have been following MongoDB for over an year. The intention was to use MongoDB to store data related to logging, transmission, reporting etc at Contify, with document database / denormalized data it would be easier to do aggregation, custom views, reporting etc on top of it as compared to RDBMS like Postgres or MySql. Although I never got close to taking it to production ... but did manage to get my hands dirty. At that time I also looked at CouchDB, but preferred MongoDB for the following reasons:
- Simple queries
- Loved the shell
- Collection based (easy to replicate table structures)
- Storage / Performance - use of Binary JSON
- MongoEngine (Python) that could be easily plugged with Django (my preferred web framework)
- Ease of installation and use of JSON
- Replication - synchronization of data across multiple CouchDB instances. Enabling offline access of your data
- Multi-Version Concurrency Control (MVCC) - Everything is versioned
- REST interface - CouchDB as the App layer - You can serve HTML pages right out of your CouchDB
- CouchApp - Custom applications to run on top of CouchDB (that are part of CouchDB)
- Cloud hosting available at http://www.couch.io/get (at no cost)