Apache CouchDB
A document database with a built-in HTTP API.
Apache CouchDB exposes a RESTful JSON API over HTTP and stores documents using a multi-version concurrency control model: every update creates a new revision rather than overwriting the previous one, which lends itself well to multi-master replication. Two CouchDB instances can pull each other's revisions and converge to a consistent state, making the database well suited for offline-first mobile apps that sync when connectivity returns.
CouchDB was donated to the Apache Software Foundation in 2008. Its companion library PouchDB runs the same protocol in the browser, which is a common pairing for local-first web applications. Couchbase, a separate commercial database company, forked CouchDB's early code and combined it with Memcached ideas; the two products share a name root but are now substantially different.
CouchDB's main strengths today are its mature HTTP API, the view system based on incrementally-maintained map/reduce indexes, and the conflict-tolerant replication model. It is widely used in IoT, point-of-sale, and field-data scenarios where machines may be offline for extended periods and need to reconcile changes on rejoining.
Install
Debian/Ubuntu: sudo apt install couchdb Fedora/RHEL: sudo dnf install couchdb Or via Docker: docker run -p 5984:5984 couchdb:latest
Authors
- Apache Software Foundation