What are the three key topics of DD?
Why is Replication important?
What are the roles of Replication nodes?
What are the usual paradigms for implementing replication?
What is the main idea of Write Ahead Logs (WAL)?
WAL replication writes all changes to the leader and follower. Then, the followers apply the WAL entries to get consistent data.
Who uses WAL?
PostgreSQL and Oracle
What is logical based replication?
It generates a stream of logical updates for each update to the WAL
What are some examples of Logical updates?
Used by MongoDB and MySQL
What is the main problem with WAL?
It is bound to the implementation of the data strcutre. If it changes in the leader, it stops working
How does replication work when using Logical based replication?
What is the main point of Synchronous replication?
The writes need to be confirmed by a configurable number of followers before the leader reports success.
What is the main point of Asynchronous replication?
The leader reports success as soon as the write was confirmed to disk, followers apply their own changes.
Name some characteristics of Synchronous replication.
Name some characteristics of Asynchronous replication
Describe Synchronous replication as it relates to consistency and availability.
SR is very consistent, but not so available since it blocks writes until the current one is reported a success.
Describe Asynchronous replication as it relates to consistency and availability.
AR is not so consistent, but it is widely available, since it does not block writes for long.
What is the CAP Theorem
CAP comes from Consistency, Availability, and Partition Tolerance. The theorem states that there is no real life system that can have all three, and thus one has to choose two of these attributes when designing a system.
What is eventual consistency?
All updates eventually deliver to all replicas.
What is causal consistency?
Causally related operations are delivered to other replicas inthe correct order. Thus, it maintains a partial order of events based on causality.
What is client-centric consistency?
A system that guarantees the correct order of operations only for a single client process
What is sequential consistency?
The operations appear to take place in a total order that is consistent with the order of operations on each replica. All replicas observe the same order of operations.
What is linearizability?
Sequential consistency + the total order or operation conforms to the real time ordering. Once a write is completed, the value is replicated to all nodes. At any point in time, all nodes read the same value.