Database

Apache CouchDB – document database with multi-primary replication

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
SurrealDBScalable, distributed, collaborative, document-graph database
CouchbaseDistributed key-value database management system
CouchDBScalable, fault-tolerant, and schema-free written in Erlang
ArangoDBNative multi-model database
eXist-dbDatabase management system entirely built on XML technology
RethinkDBScalable database built for realtime applications
BaseXXML database engine
OrientDBDocument Database supporting ACID Transactions, SQL and Native Queries
AerospikeKey-Value Store and high performance real-time NoSQL (flex-schema) database
RavenDBFully-transactional NoSQL ACID database
FerretDBDatabase proxy that offers an open-source alternative to MongoDB
DocumentDBMongoDB-compatible document database engine
JackrabbitOpen-source content repository for Java
TerminusDBKnowledge graph and document store
KintoMinimalist JSON storage service
CrateDBDistributed SQL database management

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted