Easy to setup, flexible and highly available. All you need to do is relax on the CouchDB
March 11, 2019

Easy to setup, flexible and highly available. All you need to do is relax on the CouchDB

Johanes Siregar | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with CouchDB

Currently, we use CouchDB in various projects throughout our Big Data Insight Product Division for development and production environment setup. Mainly it is being used to store serialized (JSON formatted) unstructured data. For our development environment, usually, a single node DB is more than sufficient for prototyping and to deliver Minimum Viable Product (MVP). However, for production setup, which demands High Availability (HA), a cluster DB with replication capability is a must.
  • 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.
  • High availability cluster with replication capability virtually mitigates potential losses due to down-time.
  • Cloud implementation provides a highly scalable solution which can optimize cost with resource allocation.
Compared to MongoDB, CouchDB's Map-Reduce paradigm poses a steeper learning curve for SQL users. However, CouchDB's master-master replication is an advantage of implementing a load-balanced solution.
Even though, currently, CouchDB has strong community support, as an open source software, there is no guarantee and no dedicated support. Compared to both DynamoDB and CosmosDB, backed by big names (Amazon and Microsoft respectively) behind them, they can certainly provide better support that definitely comes with a price.
As a highly distributed database system, CouchDB naturally has strong high availability with traffic load-balancing capability. It is also easy to scale and replicate data in a cluster for redundancy. However, there is still some room for query performance improvement in the future.
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.

CouchDB Feature Ratings

Data model flexibility
Deployment model flexibility