Transactional storage for geo-replicated systems

Yair Sovran, Russell Power, Marcos K. Aguilera, Jinyang Li

2011 · 390 citations · 50 references

Concepts

TL;DR

The paper presents Walter, a key‑value store that supports transactions and geo‑replicates data across distant sites. Walter achieves this via Parallel Snapshot Isolation, using preferred sites and counting sets to prevent write‑write conflicts and enable asynchronous replication. The authors show that PSI enables asynchronous replication with strong intra‑site guarantees and eliminates write‑write conflicts, sparing developers from conflict‑resolution logic.

Abstract

We describe the design and implementation of Walter, a key-value store that supports transactions and replicates data across distant sites. A key feature behind Walter is a new property called Parallel Snapshot Isolation (PSI). PSI allows Walter to replicate data asynchronously, while providing strong guarantees within each site. PSI precludes write-write conflicts, so that developers need not worry about conflict-resolution logic. To prevent write-write conflicts and implement PSI, Walter uses two new and simple techniques: preferred sites and counting sets. We use Walter to build a social networking application and port a Twitter-like application.

References

50