Redundancy & Replication Flashcards
(10 cards)
What is redundancy? What does it help improve?
Redundancy is the duplication of critical components or functions in a system. It’s an important aspect of improving reliability by providing backups or fail-safe instances.
Why is redundancy important?
Without redundancy, this means there are only single instances of components and losing one can lead to data loss and system failure.
What problem does redundancy solve?
It removes a single point of failure.
What is database replication?
The process of copying and syncing data from one database to one or more additional databases.
Why is database replication important? Specifically in distributed systems?
Since distributed systems are defined by being fault-tolerant, reliable, highly available and scalable , it’s necessary to have multiple copies of the same data persisted within the systems to support all of these.
What’s the most common form of database replication relationship? How does it work?
Primary-replica; where changes are made to the primary and ripple out to the replicas.
What are the three primary strategies for data replication?
Synchronous, asynchronous, and semi-synchronous.
Explain what occurs during synchronous replication? What are the impacts of it?
Changes made to the primary database are immediately replicated to the replica databases before the write operation is considered complete.
It is the most strongly consistent approach, provided the least risk of data loss, at the cost of latency (waiting for replica acknowledgement)
Explain what occurs during asynchronous replication? What are the impacts of it?
Changed made to the primary database are not immediately replicated to the replica databases. Instead, the changes are queued and replicated to the replicas at a later time.
It can be cause temporary inconsistencies between primary-replicas, a slight risk of data loss, however it’s significantly faster (as it doesn’t wait for replicas acknowledgements).
Explain what occurs during semi-synchronous replication? What are the impacts of it?
It’s a combination of both synchronous and asynchronous as changes made to the primary only require being acknowledged by a single replica (not all).
It provides some level of strong consistency while providing the performance benefits of asynchronous replication with minimal risk for data loss.