The podcast delves into the design and implementation of Spanner, a distributed database system, focusing on its approach to providing transactions over geographically separated data. It highlights Spanner's use of two-phase commit over Paxos replicated participants to prevent blocking issues caused by coordinator crashes, and its innovative use of synchronized time for efficient read-only transactions. The discussion covers the motivation behind Spanner's development, driven by the need for transactions spanning multiple sharded MySQL and Bigtable databases within Google's advertising system. A key point is Spanner's treatment of read-write and read-only transactions, with read-only transactions optimized for speed through local replica reads and avoidance of locks and two-phase commit. The podcast also addresses the challenges of maintaining external consistency and serializability in a distributed environment with potential clock synchronization issues.
Sign in to continue reading, translating and more.
Continue