Apache CouchDB

active

by Apache Software Foundation · since 2005 · also known as CouchDB

HTTP/JSON document database built around multi-master replication and offline-first sync.

documentsearch enginedatabase engineopen source (permissive)mature

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

✓Secondary indexes
✓Full-text search
✓JSON
✓Change data capture
✓Materialized views
✓Durable persistence
✓Compression
✓Role-based access
✓Online schema changes
✓Offline sync
–Transactions
–Joins
–Vector search
–Geospatial
–Triggers
–Stored procedures
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Encryption at rest
–Time travel
–Branching
–Streaming ingest
–Runs in WebAssembly

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

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

compatible withCouchDB
apis & protocolsHTTP/JSON REST, CouchDB replication protocol
client languagesJavaScript, Python, Java, C#, Go, PHP, Ruby

Alternatives to Apache CouchDB

Compare all→
PouchDBDocument23.2

JavaScript database for browsers and Node that speaks the CouchDB replication protocol.

apache-couchdb vs pouchdb →
IBM CloudantDocument31.6

IBM's managed, CouchDB-compatible JSON database with built-in search and geospatial queries.

apache-couchdb vs ibm-cloudant →
Couchbase ServerDocument27.5

Memory-first distributed JSON database with SQL++, search, vector indexes and mobile sync.

apache-couchdb vs couchbase →
MongoDBDocument80.5

The default document database: flexible BSON documents, rich queries and built-in sharding.

apache-couchdb vs mongodb →
RxDBDocument20.2

Reactive local-first NoSQL database for JavaScript with pluggable storage and replication.

apache-couchdb vs rxdb →
Google Cloud FirestoreDocument49.1

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.