Megastore: Providing Scalable, Highly Available Storage for Interactive Services
Venue
Proceedings of the Conference on Innovative Data system Research (CIDR) (2011), pp. 223-234
Publication Year
2011
Authors
Jason Baker, Chris Bond, James C. Corbett, JJ Furman, Andrey Khorlin, James Larson, Jean-Michel Leon, Yawei Li, Alexander Lloyd, Vadim Yushprakh
BibTeX
Abstract
Megastore is a storage system developed to meet the requirements of today's
interactive online services. Megastore blends the scalability of a NoSQL datastore
with the convenience of a traditional RDBMS in a novel way, and provides both
strong consistency guarantees and high availability. We provide fully serializable
ACID semantics within fine-grained partitions of data. This partitioning allows us
to synchronously replicate each write across a wide area network with reasonable
latency and support seamless failover between datacenters. This paper describes
Megastore's semantics and replication algorithm. It also describes our experience
supporting a wide range of Google production services built with Megastore.