Shared publicly  - 
 
What's most interesting about this massive, globally distributed, high availability, fast, SQL-based relational database that's used for the advertising backend at Google -- other than that it's a massive globally distributed database that's used for the advertising backend at Google -- is the extreme effort they put into time synchronization across the database servers.  The creators appear to have started with the question -- what could we do in a distributed database if we could rely on all servers having exactly the right time? -- and worked from there.

From that paper: "One aspect of our design stands out: the linchpin of Spanner's feature set is TrueTime. We have shown that reifying clock uncertainty in the time API makes it possible to build distributed systems with much stronger time semantics ... As a community, we should no longer depend on loosely synchronized clocks ... in designing distributed algorithms."
13
2
harisankar h's profile photoGreg Linden's profile photo
3 comments
 
They use both GPS and atomic clocks -- love that -- for their time sync because they have different failure modes.
 
If you're wondering why they don't just use sharded MySQL, that was the database that Spanner replaced in its first deployment, and there's a great discussion of why in Section 5.4 of the paper.
Add a comment...