Recommendations to others considering CouchDB:
CouchDB is particularly suitable for storing unstructured or semi-structured data that does not require strict fields and data types. JSON document with RESTful HTTP API for operation is highly desirable to be stored as a serialized object for Web and Mobile applications. However, NoSQL and Map-Reduce paradigm might be a significant hurdle to integrate with SQL-RDBMS system.Pros and cons found by me:
Serialized objects can be stored as unstructured data in JSON formatted documents highly desirable for Web and Mobile Applications.
RESTful HTTP API provides flexible and seamless database operations.
Scalable distributed high availability solution with replication capability for redundant data storage.
NoSQL DB can become a challenge for seasoned RDBMS users.
The map-reduce paradigm can be very demanding for first-time users.
JSON format documents with Key-Value pairs are somewhat verbose and consume more storage. Review collected by and hosted on G2.com.
What problems is CouchDB solving and how is that benefiting you?
NoSQL databases represent a shift away from traditional relational databases and can offer many benefits (and their own challenges) as well. CouchDB offers us these features:
Easy replication of a database across multiple server instances
Fast indexing and retrieval
REST-like interface for document insertion, updates, retrieval and deletion
JSON-based document format (easily translatable across different languages)
Multiple libraries for your language of choice (show some of the popular language choices)
Subscribable data updates on the _changes feed
Availability
Consistency
Partition Tolerance
CouchDB fell into the AP camp (Availability and Partition Tolerance), which was what we were looking for for our own data concerns (not to mention the ability to replicate data on either a continuous or ad-hoc basis). Review collected by and hosted on G2.com.