[HN Gopher] Back from the Future: Global Tables in CockroachDB
       ___________________________________________________________________
        
       Back from the Future: Global Tables in CockroachDB
        
       Author : andreimatei1
       Score  : 27 points
       Date   : 2022-07-19 21:31 UTC (1 hours ago)
        
 (HTM) web link (www.cockroachlabs.com)
 (TXT) w3m dump (www.cockroachlabs.com)
        
       | andreimatei1 wrote:
       | Global Tables let database clients in any region read strongly
       | consistent data with region-local latencies. They're an important
       | piece of the multi-region puzzle -- providing latency
       | characteristics that are well suited for read-mostly, non-
       | localized data.
        
         | brickbrd wrote:
         | Instead of doing all this complicated thing, how about simply
         | following a Raft-like consensus protocol with the minor
         | modification that the leader won't include a write op its read
         | processing until that write op has been applied to the log of
         | all the replicas, not just the quorum. When the heartbeat
         | response from replicas indicates to the leader that this write
         | op has been applied everywhere, it can advance its internal
         | marker to include this write op in the read operations.
         | 
         | This simple scheme allows all members including replicas to
         | serve read-after-write consistency and penalizes the write op
         | that happened. That write op wont be acknowledged to the caller
         | until it has been applied everywhere.
         | 
         | There are no fault tolerance issues here btw. If any replica
         | fails, as long as quorum was reached, the repair procedure will
         | ensure that write will be eventually applied to all replicas.
         | If the quorum itself could not been reached then the write is
         | lost anyways and is no different than the typical case of
         | reading just from the leader.
        
       ___________________________________________________________________
       (page generated 2022-07-19 23:00 UTC)