2. Replication — Apache CouchDB® 3.5 Documentation

# 2. Replication

Replication is an incremental one way process involving two databases (a source and a destination).

The aim of replication is that at the end of the process, all active documents in the source database are also in the destination database and all documents that were deleted in the source database are also deleted in the destination database (if they even existed).

The replication process only copies the last revision of a document, so all previous revisions that were only in the source database are not copied to the destination database.

- 2.1. Introduction to Replication
  - 2.1.1. Transient and Persistent Replication
  - 2.1.2. Triggering, Stopping and Monitoring Replications
  - 2.1.3. Replication Procedure
  - 2.1.4. Master - Master replication
  - 2.1.5. Controlling which Documents to Replicate
  - 2.1.6. Migrating Data to Clients
- 2.2. Replicator Database
  - 2.2.1. Basics
  - 2.2.2. Documents describing the same replication
  - 2.2.3. Replication Scheduler
  - 2.2.4. Replication states
  - 2.2.5. Compatibility Mode
  - 2.2.6. Canceling replications
  - 2.2.7. Server restart
  - 2.2.8. Clustering
  - 2.2.9. Additional Replicator Databases
  - 2.2.10. Fair Share Job Scheduling
  - 2.2.11. Replicating the replicator database
  - 2.2.12. Delegations
  - 2.2.13. Selector Objects
  - 2.2.14. Specifying Usernames and Passwords
  - 2.2.15. Replicate Winning Revisions Only
- 2.3. Replication and conflict model
  - 2.3.1. CouchDB replication
  - 2.3.2. Conflict avoidance
  - 2.3.3. Revision tree
  - 2.3.4. Working with conflicting documents
  - 2.3.5. Multiple document API
  - 2.3.6. View map functions
  - 2.3.7. Merging and revision history
  - 2.3.8. Comparison with other replicating data stores
- 2.4. CouchDB Replication Protocol
  - 2.4.1. Preface
  - 2.4.2. Replication Protocol Algorithm
  - 2.4.3. Protocol Robustness
  - 2.4.4. Error Responses
  - 2.4.5. Optimisations
  - 2.4.6. API Reference
  - 2.4.7. Reference