CouchDB is an open source document-oriented, Non-Relational Database Management Server (NRDBMS) written mostly in the Erlang programming language. It is an HTTP based API that uses JSON for data representation. It is an ad-hoc and schema free database with a flat address space that will enable node partitioning for storage scalability and clustering for reliability and fault tolerance.

It has no SQL, schema or ORM, thus it easy to program and changes can be deployed easily. Couch DB is easy to administer, backup, replicate or even work offline.

It is a peer based distributed database system. Multiple number of CouchDB hosts (servers and offline-clients) can have independent “replica copies” of the same database, provided, applications have full database interactivity. When back online or working on a schedule, the database changes are replicated on both sides. It has built-in conflict detection and management and the replication process is incremental and fast, copying only documents and individual fields changed since the previous replication instead of the entire data.

Couch DB can be used to host applications or store documents or any data which is document like.