David F. Bacon

David F. Bacon

David F. Bacon is the Principal Engineer leading the design and evolution of the Spanner storage engine (Ressi [1, 2]), for which he was a co-recipient of the 2025 SIGMOD Systems Award.


Other work includes the exploitation of new hardware technologies in databases, securing mission-critical hyper-scale systems against data corruption, and application of artificial intelligence to development of complex software systems. He is a co-founder of the Dagstuhl seminar series on Hardware Support for Cloud Database Systems (2024, 2026).

Prior to Google, he was a Principal Research Staff Member at IBM Research, and a visiting professor at Harvard in 2009-2010. His work included compilation and run-time systems for object-oriented programming [1, 2], hardware compilation [1, 2, 3], and real-time garbage collection [1, 2].

David received his A.B. from Columbia University in 1985 and his Ph.D. from U.C. Berkeley in 1997. He is a Fellow of the ACM, and has served on the governing boards of ACM SIGPLAN and SIGBED.

Publications: DBLP, Google Scholar. Patents: Justia.

Authored Publications
Sort By
  • Title
  • Title, descending
  • Year
  • Year, descending
    Preview abstract Building on the simplicity and power of declarative queries combined with strongly consistent transactional semantics has allowed the Spanner database to scale to many thousands of machines running an aggregate of over 2 billion queries per second on over 8 exabytes of data. This includes some of the largest applications in the world, serving well over a billion users each. The appetite for database storage continues to grow, potentially reaching zettabyte scale (1 billion terrabytes) by 2030. However, the end of Moore and Dennard scaling mean that the cost of the infrastructure to run those databases could grow much faster than it has in the past. In this talk I will give my perspective on the challenges to reaching zettabyte scale, and the hardware technologies and approaches most (and least) likely to be successful. View details
    Detection and Prevention of Silent Data Corruption in an Exabyte-scale Database System
    The 18th IEEE Workshop on Silicon Errors in Logic – System Effects, IEEE (2022)
    Preview abstract Google’s Spanner database serves multiple exabytes of data at well over a billion queries per second, distributed over a significant fraction of Google’s fleet. Silent data corruption events due to hardware error are detected/prevented by Spanner several times per week. For every detected error there are some number of undetected errors that in rare (but not black swan) events cause corruption either transiently for reads or durably for writes, potentially violating the most fundamental contract that a database system makes with its users: to store and retrieve data with absolute reliability and availability. We describe the work we have done to detect and prevent silent data corruptions and (equally importantly) to remove faulty machines from the fleet, both manually and automatically. We present a simplified analytic model of corruption that provides some insights into the most effective ways to prevent end-user corruption events. We have made qualitative gains in detection and prevention of SDC events, but quantitative analysis remains difficult. We discuss various potential trajectories in hardware (un)reliability and how they will affect our ability to build reliable database systems on commodity hardware. View details
    Spanner: Becoming a SQL System
    Nathan Bales
    Nico Bruno
    Brian F. Cooper
    Adam Dickinson
    Andrew Fikes
    Campbell Fraser
    Andrey Gubarev
    Milind Joshi
    Eugene Kogan
    Sergey Melnik
    Rajesh Rao
    Dave Shue
    Chris Taylor
    Marcel van der Holst
    Dale Woodford
    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