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:
- Reducing the Cost for Non-Blocking in Atomic Commitment (aka MD3PC)
- Increasing the Resilience of Distributed and Replicated Database Systems (aka E3PC)
- Consensus on Transaction Commit (aka paxos commit)
CockroachDB: The Resilient Geo-Distributed SQL Database (Parallel Commits over Paxos)
Spanner: Google’s Globally-Distributed Database (2PC over Paxos)
Concurrency control schemes:
-
Extracting More Concurrency from Distributed Transactions (aka RoCoCo)
-
Strong consistency is not hard to get: Two-Phase Locking and Two-Phase Commit on Thousands of Cores
-
Independent transactions (aka one-shot transactions):
Deterministic ordering:
- Calvin: Fast Distributed Transactions for Partitioned Database Systems (deterministic transaction, OLLP)
- SLOG: Serializable, Low-latency, Geo-replicated Transactions
- Ocean Vista: Gossip-Based Visibility Control for Speedy Geo-Distributed Transactions
Blending of replication with transaction processing
- Building Consistent Transactions with Inconsistent Replication (aka TAPIR)
- Meerkat: Multicore-Scalable Replicated Transactions Following the Zero-Coordination Principle
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