# 4. Replication

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

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

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

- 4.1. Introduction to Replication
  - 4.1.1. Triggering Replication
  - 4.1.2. Replication Procedure
  - 4.1.3. Master - Master replication
  - 4.1.4. Controlling which Documents to Replicate
  - 4.1.5. Migrating Data to Clients
- 4.2. CouchDB Replication Protocol
  - 4.2.1. Preface
  - 4.2.2. Replication Protocol Algorithm
  - 4.2.3. Protocol Robustness
  - 4.2.4. Error Responses
  - 4.2.5. Optimisations
  - 4.2.6. API Reference
  - 4.2.7. Reference
- 4.3. Replicator Database
  - 4.3.1. Basics
  - 4.3.2. Documents describing the same replication
  - 4.3.3. Replication Scheduler
  - 4.3.4. Replication states
  - 4.3.5. Compatibility Mode
  - 4.3.6. Canceling replications
  - 4.3.7. Server restart
  - 4.3.8. Clustering
  - 4.3.9. Additional Replicator Databases
  - 4.3.10. Replicating the replicator database
  - 4.3.11. Delegations
  - 4.3.12. Selector Objects
- 4.4. Replication and conflict model
  - 4.4.1. CouchDB replication
  - 4.4.2. Conflict avoidance
  - 4.4.3. Revision tree
  - 4.4.4. Working with conflicting documents
  - 4.4.5. Multiple document API
  - 4.4.6. View map functions
  - 4.4.7. Merging and revision history
  - 4.4.8. Comparison with other replicating data stores