Those are my notes from watching the following video: Google I/O 2009 - Transactions Across Datacenters
.
URL: https://www.youtube.com/watch?v=srOgpXECblk
Those notes are not curated, with lots of open questions. Take it for what it is.
You can just not care, record the writes. Data to be figured-out by the reader.
Weak consistency: best try, “message in a bottle”.
Eventual consistency: 1 master (r/w), some replicas (read-only). Called Master Slave Replication (MSR).
Pros / Cons: - (+) Better read availability / speed for people on other continent - (-) Read lags if done on a replica - (-) If master crash, some data loss possible. - (-) If master goes offline, read OK but write goes down as long as the master is down.
Accept write from multiple places!
Implemented by ??? (Paxos I guess).
Pros / Cons: - (+) Absolutely consistent. - (-) Performance degradation.
Write-ahead log. I don’t get how you can completely be sure something makes it in. - (-) Everything needs to be synchronous: poor throughput.
3PC allows async.
Paxos is a consensus protocol that is similar to 2PC/3PC, but lighter. Still impacts latency quite a lot.