Week 10: Google Spanner

Lecture notes:
Spanner - Lecture slides (6 per page)
Supplemental notes:
James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, JJ Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, Dale Woodford, Spanner: Google's globally-distributed database, OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation. Pages 251-264.

This is the definitive paper on Spanner. You don't have to read it for this assignment but I recommend reading it if you're curious about the design.

Video: Wilson Hsieh, Google, Inc: Spanner: Google’s Globally-Distributed Database, 10th USENIX Symposium on Operating Systems Design and Implementation, October 8-10, 2012.
The linked page contains a presentation video as well as a link to the full paper and the slides. The video is about 30 minutes long and provides an overview of Spanner.
Eric Brewer, Spanner, TrueTime & The CAP Theorem, February 14, 2017.
This brief paper by Eric Brewer (who formulated the CAP theorem) discusses how the CAP theorem applies to Spanner, the repercussions of partitions, and how TrueTime fits into the model of external consistency.
Buzzwords:
ACID, strict two-phase locking, two-phase commit, TrueTime, external consistency, distributed consensus, replication, lock-free reads, earliest & latest times,