Thursday, October 18, 2012
Spanner is Google’s scalable, multi-version, globally- distributed, and synchronously-replicated database. It is the ﬁrst system to distribute data at global scale and sup- port 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 exter- nal consistency and a variety of powerful features: non- blocking reads in the past, lock-free read-only transac- tions, and atomic schema changes, across all of Spanner.
99% BAD HARDWARE WEEK: