January 14, 2021

443 words 3 mins read

rystsov/awesome-distributed-transactions

rystsov/awesome-distributed-transactions

Awesome list of distributed transactions

repo name rystsov/awesome-distributed-transactions
repo link https://github.com/rystsov/awesome-distributed-transactions
homepage
language
size (curr.) 34 kB
stars (curr.) 501
created 2021-01-10
license

Awesome distributed transactions

A curated selection of distributed transactions protocols

Highly Available Transactions

Transactional Causal Consistency

Cure: Strong semantics meets high availability and low latency

Stronger Semantics for Low-Latency Geo-Replicated Storage (aka Eiger)

Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS

Stronger than read committed (MAV & RA)

MAV provides “cut isolation” and atomicity. RA is MAV which prevents fractured reads.

Highly Available Transactions: Virtues and Limitations

Scalable Atomic Visibility with RAMP Transactions

Weaker than snapshot isolation levels (PSI, PC-PSI, NMSI)

Compared to snapshot isolation (SI) PSI, PC-PSI & NMSI allows “long fork” anomaly.

Database Replication Using Generalized Snapshot Isolation

Transactional storage for geo-replicated systems (aka Walter, PSI)

I Can’t Believe It’s Not Causal! Scalable Causal Consistency with No Slowdown Cascades (aka Occult, PC-PSI)

Non-Monotonic Snapshot Isolation (aka Jessy, NMSI)

Blotter: Low Latency Transactions for Geo-Replicated Storage (NMSI)

Snapshot isolation

Large-scale Incremental Processing Using Distributed Transactions and Notifications (aka Percolator)

Serializability

Notes on Data Base Operating Systems (aka 2PC, two-phase commit, it all started there)

Let’s put 2PC coordinator on Paxos:

CockroachDB: The Resilient Geo-Distributed SQL Database (Parallel Commits over Paxos)

Spanner: Google’s Globally-Distributed Database (2PC over Paxos)

Concurrency control schemes:

Deterministic ordering:

Blending of replication with transaction processing

Special hardware

The End of a Myth: Distributed Transactions Can Scale (aka NAM-DB, SI)

No compromises: distributed transactions with consistency, availability, and performance (aka FaRM, serializability)

FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs

Eris: Coordination-Free Consistent Transactions Using In-Network Concurrency Control (serializability, independent transactions, deterministic transaction, OLLP)

Limits of distributed transactions

The SNOW Theorem and Latency-Optimal Read-Only Transactions

Causal Consistency and Latency Optimality: Friend or Foe?

Distributed Transactional Systems Cannot Be Fast

Distributed transactional reads: the strong, the quick, the fresh and the impossible

Testing

Elle: Inferring Isolation Anomalies from Experimental Observations

comments powered by Disqus