← Software

Apache CouchDB

A document database with a built-in HTTP API.

Apache CouchDB logo

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.

License: Apache-2.0

Category: Data

Website: https://couchdb.apache.org/

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
PreviousApache Cassandra NextApache HTTP Server

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring