An active-passive deployment is the simplest approach for configuring replicas in a distributed database.

Unlike the active-active deployment which has at least two nodes actively running, in active-passive not all nodes are actively supporting read and write requests. In this configuration, the database has an active node that processes requests, and a hot spare that is ready to take over in case of a disaster. All traffic is directed to the single “active” node, and any updates are replicated to one (or more) spare replicas.

Despite its simplicity, the active-passive configuration has some issues. One problem is performance bottlenecks since all reads and writes are made to the “active” node. Additionally, if data is replicated synchronously, any writing failure to one of the “follower” replicas will cause the entire request to fail. If any replicas are slow to process a request, the response time may quickly become unacceptable.

synchronous replication also has drawbacks. Here, the request is successful once the active node has processed it, but there is no guarantee that data will make it to the passive “spare” replicas. It is possible that the system is up and running when data is written to the active replica, but offline when the data is replicated to the passive replica. This introduces the possibility of inconsistencies and even data loss.

Additional Distributed Database Topics to Explore: