Apache CouchDB
activeby Apache Software Foundation · since 2005 · also known as CouchDB
HTTP/JSON document database built around multi-master replication and offline-first sync.
Overview
Apache CouchDB stores JSON documents and exposes everything, including queries, replication and admin, over a plain HTTP REST API. Its defining feature is a robust replication protocol that lets any two CouchDB-compatible nodes sync bidirectionally, with MVCC revision trees for conflict detection. That makes it the backbone of offline-first stacks built with PouchDB and of IBM Cloudant. Queries use Mango (JSON selectors) or incremental MapReduce views, and Nouveau adds Lucene full-text search. Version 3.5.3 shipped in October 2026. It is steady, well-understood technology, best when sync and availability matter more than ad-hoc query power.
Strengths & trade-offs
Strengths
- +Bidirectional, resumable replication between any CouchDB-protocol peers, including PouchDB in browsers
- +Everything is HTTP + JSON, so curl is a complete client
- +Append-only storage is crash-safe; no repair step after power loss
- +_changes feed makes building sync and event pipelines straightforward
- +Permissive Apache license under neutral ASF governance
Trade-offs
- −No multi-document transactions; conflicts must be resolved by the application
- −MapReduce views are slow to build on large databases
- −Compaction is needed to reclaim disk from the append-only files
- −Mango queries are far less expressive than SQL or the MongoDB aggregation pipeline
Great for
- +Offline-first web and mobile apps with PouchDB
- +Field data collection in low-connectivity environments
- +Multi-site replication between edge locations and a central hub
- +Document stores where HTTP-native access is valuable
Think twice for
- −Transactional workloads that span multiple documents
- −Ad-hoc analytics and complex joins
- −Very high write rates on a single database
Capabilities
Native or official first-party support · 10 of 25 tracked
Scale & consistency
- Comfortable data size
- Medium · ≤ 10 TB
- Horizontal scaling
- Native
- Multi-region
- Active active
- Transactions
- Limited ACID
- Consistency
- Eventual
- Schema
- Schemaless
- Architecture
- Distributed, Multi primary, Client server
- Query languages
- Mango (JSON query), JavaScript MapReduce views, Lucene query syntax (Nouveau)
Clustered mode shards each database (q shards, n replicas); cross-region topologies are built with continuous replication.
Deployment
Ecosystem
Alternatives to Apache CouchDB
JavaScript database for browsers and Node that speaks the CouchDB replication protocol.
apache-couchdb vs pouchdb →IBM's managed, CouchDB-compatible JSON database with built-in search and geospatial queries.
apache-couchdb vs ibm-cloudant →Memory-first distributed JSON database with SQL++, search, vector indexes and mobile sync.
apache-couchdb vs couchbase →The default document database: flexible BSON documents, rich queries and built-in sharding.
apache-couchdb vs mongodb →Reactive local-first NoSQL database for JavaScript with pluggable storage and replication.
apache-couchdb vs rxdb →Serverless document database with realtime listeners, offline SDKs and a new Enterprise edition.
apache-couchdb vs google-cloud-firestore →Apache CouchDB FAQ
What is Apache CouchDB?
Apache CouchDB is a document database by Apache Software Foundation, first released in 2005. Apache CouchDB stores JSON documents and exposes everything, including queries, replication and admin, over a plain HTTP REST API. Its defining feature is a robust replication protocol that lets any two CouchDB-compatible nodes sync bidirectionally, with MVCC revision trees for conflict detection. That makes it the backbone of offline-first stacks built with PouchDB and of IBM Cloudant. Queries use Mango (JSON selectors) or incremental MapReduce views, and Nouveau adds Lucene full-text search. Version 3.5.3 shipped in October 2026. It is steady, well-understood technology, best when sync and availability matter more than ad-hoc query power.
Is Apache CouchDB open source?
Yes. Apache CouchDB is open source. License: Apache License 2.0.
Does Apache CouchDB support ACID transactions?
Partly. Apache CouchDB offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual consistency.
Does Apache CouchDB scale horizontally?
Apache CouchDB scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at medium scale (≤ 10 TB). It supports active-active multi-region writes.
How can I run Apache CouchDB?
You can self-host it. Managed offerings include IBM Cloudant.
What is Apache CouchDB best for?
Apache CouchDB is a strong fit for offline-first web and mobile apps with PouchDB; field data collection in low-connectivity environments; and multi-site replication between edge locations and a central hub. Think twice for transactional workloads that span multiple documents.
What are the best alternatives to Apache CouchDB?
Common alternatives to Apache CouchDB include PouchDB, IBM Cloudant, Couchbase Server, MongoDB and RxDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Apache CouchDB?
Apache CouchDB ranks #41 of 844 databases on the WhichDB Score (43.6/100), and #5 among document databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.