CouchDB logo

CouchDB

HTTP + JSON document database with Map Reduce views and peer-based replication
521
570
+ 1
139

What is CouchDB?

Apache CouchDB is a database that uses JSON for documents, JavaScript for MapReduce indexes, and regular HTTP for its API. CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents and query your indexes with your web browser, via HTTP. Index, combine, and transform your documents with JavaScript.
CouchDB is a tool in the Databases category of a tech stack.
CouchDB is an open source tool with 6K GitHub stars and 1K GitHub forks. Here’s a link to CouchDB's open source repository on GitHub

Who uses CouchDB?

Companies
85 companies reportedly use CouchDB in their tech stacks, including Biting Bit, Our Stack, and Digital Services.

Developers
379 developers on StackShare have stated that they use CouchDB.

CouchDB Integrations

Datadog, Netdata, RxDB, OutSystems, and Budibase are some of the popular tools that integrate with CouchDB. Here's a list of all 14 tools that integrate with CouchDB.
Pros of CouchDB
43
JSON
30
Open source
18
Highly available
12
Partition tolerant
11
Eventual consistency
7
Sync
5
REST API
4
Attachments mechanism to docs
4
Multi master replication
3
Changes feed
1
REST interface
1
js- and erlang-views
Decisions about CouchDB

Here are some stack decisions, common use cases and reviews by companies and developers who chose CouchDB in their tech stack.

Ammar Asmro

What databases do note applications use to keep their users' notes synced across devices? The only option I keep bumping into is Pouchdb/CouchDB, but that takes me out of the AWS stack and introduces other issues and more costs.

With so many note-taking apps out there, I thought there must be a solution or a template stack. Most resources are either for a chat app with WebSockets or for toy apps without cross-device sync.

See more
Gabriel Pa
Migrated
from
CouchDBCouchDB
to
CouchbaseCouchbase
at

We implemented our first large scale EPR application from naologic.com using CouchDB .

Very fast, replication works great, doesn't consume much RAM, queries are blazing fast but we found a problem: the queries were very hard to write, it took a long time to figure out the API, we had to go and write our own @nodejs library to make it work properly.

It lost most of its support. Since then, we migrated to Couchbase and the learning curve was steep but all worth it. Memcached indexing out of the box, full text search works great.

See more

CouchDB's Features

  • Terrific single-node database
  • Clustered database
  • HTTP/JSON
  • Offline first data sync

CouchDB Alternatives & Comparisons

What are some alternatives to CouchDB?
MongoDB
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
Couchbase
Developed as an alternative to traditionally inflexible SQL databases, the Couchbase NoSQL database is built on an open source foundation and architected to help developers solve real-world problems and meet high scalability demands.
Cloudant
Cloudant’s distributed database as a service (DBaaS) allows developers of fast-growing web and mobile apps to focus on building and improving their products, instead of worrying about scaling and managing databases on their own.
MariaDB
Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.
RethinkDB
RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn.
See all alternatives

CouchDB's Followers
570 developers follow CouchDB to keep up with related blogs and decisions.