Challenge 6b: Totally-Available, Read Uncommitted Transactions

desccode

Multi-node transactions with the weakest consistency model known to humanity. Can replication really be this easy?

How it Works

Transaction Processing + Replication

Why This Works

  1. Async Replication: Fire off writes, don't wait for acknowledgments

  2. Total Availability: Network partitions? No problem, keep operating

  3. Global Dirty Write Prevention: Local locks prevent G0 within nodes

  4. Topology Tracking: Learn about all nodes for broadcasting

  5. No Cost Reads: Read whatever's locally available, it's valid

Trade-offs

Pros:

Cons:

Read uncommitted is amusing - it's the "consistency for people who hate consistency" model. Looking forward to the read committed challenge where we'll have to prevent dirty reads too.


ref:

G0 (dirty write): a cycle of transactions linked by write-write dependencies. For instance, transaction T1 appends 1 to key x, transaction T2 appends 2 to x, and T1 appends 3 to x again, producing the value [1, 2, 3].