Apache CouchDB is a document-oriented database designed for applications that need reliable storage and synchronisation across multiple locations. It stores data as JSON documents and exposes database operations through an HTTP API, making it accessible to a wide range of applications and development tools.
CouchDB is particularly well suited to systems where different database instances must continue operating independently. A database can be replicated between servers or clients, with changes exchanged when connectivity becomes available. This approach is valuable for field data collection, distributed organisations and applications that cannot depend on a permanent network connection.
Documents are identified by unique keys and can contain different combinations of fields. Rather than requiring a fixed relational schema, CouchDB allows applications to evolve their data structures as requirements change.
CouchDB uses multi-version concurrency control to manage document revisions. Its replication model is designed to accommodate independently modified copies of data, while giving applications the information needed to handle conflicts.
This is free and open source software.
Key Features
- Multi-primary replication between independent database instances.
- Incremental synchronisation that transfers document changes rather than complete databases.
- Document revision identifiers and conflict detection.
- Mango query language with JSON selectors.
- Secondary indexes for filtering and sorting document collections.
- MapReduce views for indexed queries and aggregation.
- Document attachments for storing binary content.
- Changes feed for monitoring database modifications.
- Partitioned databases for distributing document workloads.
- Clustered database operation with configurable replication.
- Fauxton web interface for administration and query execution.
- Database security with users, roles and access restrictions.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: couchdb.apache.org
Support:
Developer: Apache Software Foundation
License: Apache License 2.0
Apache CouchDB is written in Erlang. Learn Erlang with our recommended free books and free tutorials.
Related Software
| Document-Oriented Databases | |
|---|---|
| SurrealDB | Scalable, distributed, collaborative, document-graph database |
| Couchbase | Distributed key-value database management system |
| CouchDB | Scalable, fault-tolerant, and schema-free written in Erlang |
| ArangoDB | Native multi-model database |
| eXist-db | Database management system entirely built on XML technology |
| RethinkDB | Scalable database built for realtime applications |
| BaseX | XML database engine |
| OrientDB | Document Database supporting ACID Transactions, SQL and Native Queries |
| Aerospike | Key-Value Store and high performance real-time NoSQL (flex-schema) database |
| RavenDB | Fully-transactional NoSQL ACID database |
| FerretDB | Database proxy that offers an open-source alternative to MongoDB |
| DocumentDB | MongoDB-compatible document database engine |
| Jackrabbit | Open-source content repository for Java |
| TerminusDB | Knowledge graph and document store |
| Kinto | Minimalist JSON storage service |
| CrateDB | Distributed SQL database management |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.