Apache CouchDB

Apache CouchDB is a document-oriented database that, in the words of its own project site, speaks JSON natively and makes use of the ubiquitous HTTP protocol and JSON data format. It was started by Damien Katz in 2005 and later became an Apache Software Foundation project. Each record is a JSON document, and the database is accessed through a RESTful HTTP API, so any tool that can make HTTP requests and read JSON can work with it directly.

Historically, CouchDB was queried using views built with the MapReduce pattern: developers write map and reduce functions, often in JavaScript, that the database runs over the documents to produce indexed results. This view model was CouchDB’s primary way of asking questions of the data, in contrast to the SQL queries of a relational database.

CouchDB’s signature strength is replication. The project describes a Couch Replication Protocol that lets data flow seamlessly between server clusters, mobile phones, and web browsers, which is the foundation for offline-first applications: a device can hold its own copy of the data, work while disconnected, and synchronize changes later. The site notes that data can move from server clusters to mobile phones and web browsers and back.

CouchDB can run as a single node or as a cluster. Its documentation explains that a cluster improves on the single-node setup with higher capacity and high availability without changing any of the HTTP APIs, and that multi-node clusters store data redundantly so it remains available. This combination of JSON documents, an HTTP interface, and robust replication made CouchDB an influential early member of the document-database family.

Sources

Last verified June 8, 2026