
Alexander Lloyd
Research Areas
Authored Publications
Sort By
Spanner: Becoming a SQL System
Dale Woodford
Adam Dickinson
Campbell Fraser
Brian F. Cooper
Chris Taylor
Rajesh Rao
Dave Shue
Marcel van der Holst
Nico Bruno
Andrew Fikes
Nathan Bales
Sergey Melnik
Eugene Kogan
Milind Joshi
Andrey Gubarev
Proc. SIGMOD 2017, pp. 331-343 (to appear)
Preview abstract
Spanner is a globally-distributed data management system that backs hundreds of mission-critical services at Google. Spanner is built on ideas from both the systems and database communities. The first Spanner paper published at OSDI'12 focused on the systems aspects such as scalability, automatic sharding, fault tolerance, consistent replication, external consistency, and wide-area distribution. This paper highlights the database DNA of Spanner. We describe distributed query execution in the presence of resharding, query restarts upon transient failures, range extraction that drives query routing and index seeks, and the improved blockwise-columnar storage format. We touch upon migrating Spanner to the common SQL dialect shared with other systems at Google.
View details
Spanner: Google's Globally Distributed Database
Preview
Hongyi Li
J. J. Furman
Lindsay Rolig
Christopher Frost
Ruth Wang
Michael Epstein
Christopher Heiser
Eugene Kogan
Sebastian Kanthak
Yasushi Saito
Michal Szymaniak
David Mwaura
Dale Woodford
Christopher Taylor
Rajesh Rao
Andrew Fikes
Sergey Melnik
Andrey Gubarev
David Nagle
ACM Trans. Comput. Syst., 31 (2013), pp. 8
Spanner: Google's Globally-Distributed Database
Ruth Wang
Yasushi Saito
Hongyi Li
David Mwaura
Sergey Melnik
Eugene Kogan
Sebastian Kanthak
Christopher Taylor
Lindsay Rolig
Michal Szymaniak
Christopher Heiser
Rajesh Rao
JJ Furman
Michael Epstein
Peter Hochschild
Christopher Frost
Dale Woodford
Andrew Fikes
Andrey Gubarev
David Nagle
OSDI (2012)
Preview abstract
Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: non-blocking reads in the past, lock-free read-only transactions, and atomic schema changes, across all of Spanner.
View details
Megastore: Providing Scalable, Highly Available Storage for Interactive Services
Jason Baker
JJ Furman
Vadim Yushprakh
Andrey Khorlin
Yawei Li
James Larson
Jean-Michel Leon
Proceedings of the Conference on Innovative Data system Research (CIDR) (2011), pp. 223-234
Preview 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.
View details