Spanner: Becoming a SQL System
Venue
Proc. SIGMOD 2017, pp. 331-343 (to appear)
Publication Year
2017
Authors
David F. Bacon, Nathan Bales, Nico Bruno, Brian F. Cooper, Adam Dickinson, Andrew Fikes, Campbell Fraser, Andrey Gubarev, Milind Joshi, Eugene Kogan, Alex Lloyd, Sergey Melnik, Rajesh Rao, Dave Shue, Chris Taylor, Marcel van der Holst, Dale Woodford
BibTeX
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.