Apache CouchDB
"Amongst all the panic and horror [of a power outage], I was smiling."
"The replication in CouchDB is really the killer feature that sets it apart from other databases."
"Even if the internet was very bad our databases in the two locations would eventually sync."
More User Stories

Data Where You Need It

Apache CouchDB ™ lets you access your data where you need it. The Couch Replication Protocol is implemented in a variety of projects and products that span every imaginable computing environment from globally distributed server-clusters, over mobile phones to web browsers.

Store your data safely, on your own servers, or with any leading cloud provider. Your web- and native applications love CouchDB, because it speaks JSON natively and supports binary data for all your data storage needs.

The Couch Replication Protocol lets your data flow seamlessly between server clusters to mobile phones and web browsers, enabling a compelling offline-first user-experience while maintaining high performance and strong reliability. CouchDB comes with a developer-friendly query language, and optionally MapReduce for simple, efficient, and comprehensive data retrieval.

See the introduction, technical overview for more information, or learn what’s new in 3.3.

Single Node Database

CouchDB is a terrific single-node database that works just like any other database behind an application server of your choice.

Most people start with a single node CouchDB instance. More demanding projects can seamlessly upgrade to a cluster.

Cluster

CouchDB is also a clustered database that allows you to run a single logical database server on any number of servers or VMs.

A CouchDB cluster improves on the single-node setup with higher capacity and high-availability without changing any APIs.

HTTP/JSON

CouchDB makes use of the ubiquitous HTTP protocol and JSON data format and is compatible with any software that supports them. CouchDB also works great with external tools like HTTP proxy servers, load balancers.

Offline First Data Sync

CouchDB’s unique Replication Protocol is the foundation for a whole new generation of “Offline First” applications for Mobile applications and other environments with challenging network infrastructures.

Ecosystem

CouchDB is built for servers (from a Raspberry Pi to big cloud installations), while PouchDB is built for mobile & web-browsers.

They can seamlessly replicate data with each other.

Reliability

CouchDB is serious about data reliability.

Individual nodes use a crash-resistant append-only data structure. A multi-node CouchDB cluster saves all data redundantly, so it is always available when you need it.


Want to Contribute?

We welcome your contributions. CouchDB is an open source project. Everything, from this website to the core of the database itself, has been contributed by helpful individuals. The time and attention of our contributors is our most precious resource, and we always need more of it. Our primary goal is to build a welcoming, supporting, inclusive and diverse community. We abide by Code of Conduct and a set of Project Bylaws. Come join us!

CouchDB Core

Help shape the future of CouchDB! There’s still plenty of work to be done on the core database. We use GitHub to track issues and pull requests.

Fauxton

Lend your JavaScript skills to the next-generation web UI for CouchDB. Fauxton is the “killer app” that makes CouchDB so powerful and easy to manage.

Marketing

We’re not just building a database – we’re crafting the CouchDB story. Help us promote CouchDB: plan meetups, make video tutorials, write blog posts.

Website

Got a few suggestions for the very website you’re reading right now? Think the UX, copy, or layout could be better? Welcome! We’d love to hear from you.

Documentation

Docs can be improved indefinitely. If you’ve got a flair for technical writing, help us make the docs clearer, better structured, or even translate them.

Guidance

You can be the first person someone interacts with when they have a question. Giving guidance is a great way to help others while learning CouchDB.


CouchDB Chat

We run community chat channels on Libera.Chat IRC network and Slack. IRC is open and very common, but Slack is more user-friendly.

Slack

To start using Slack, click on the join link below:

IRC

We have two IRC channels. #Couchdb for discussions on using CouchDB and #CouchDB-dev for discussions on CouchDB development.

Mailing Lists


Announcement List   Subscribe · Post · Unsubscribe

This is a low-traffic list for release announcements and security disclosures.

User List   Subscribe · Post · Unsubscribe

This is a general discussion and support forum for all CouchDB users.

Developer List   Subscribe · Post · Unsubscribe

This is where people working on CouchDB itself discuss things.

Commits List   Subscribe · Post · Unsubscribe

This is where all source code and wiki change notifications are sent.

Notifications   Subscribe · Post · Unsubscribe

This is a single stream of generated notification from GitHub.


Download CouchDB 3.4.2

Instructions for verifying downloads. KEYS file for validating signatures.

Download CouchDB 3.3.3

Instructions for verifying downloads. KEYS file for validating signatures.

More …