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.
Marcos K. Aguilera received a Ph.D. in Computer Science from Cornell University in 2000. He then joined Compaq’s Systems Research Center, which merged with HP Labs in 2002. He has been a researcher at MSR-SVC since 2008.