Fernanda Mora
Luis Román
Corbett, James C., et al. "Spanner: Google’s globally distributed database." ACM Transactions on Computer Systems (TOCS) 31.3 (2013): 8.
Spanner: Time will never be the same again
-Gustavo Fring
To build a transactional storage system replicated globally
Data center 1
Data center 2
Data center 3
Spanservers
...
Spanservers
Spanservers
...
...
Replication
Replication
Millions of nodes, hundreds of datacenters, trillions of database rows
(key:string, timestamp:int64) -> string
Paxos Group
Sinchronization algorithms
Implementation
Practical use
Global scale
But we can't distinguish concurrent events!
Only partial order: what about concurrent events?!
GPS receivers
Atomic clocks
Distribution of TrueTime values, sampled right after timeslave daemon polls the time masters. 90th, 99th and 99.9th percentiles
2PC scalability. Mean and sd over 10 runs
Effect of killing servers on throughput
Distribution of TrueTime values (percentiles), sampled right after timeslave daemon polls the time masters.
Global scale database with strict transactional guarantees
Easy-to-use
Semi-relational interface
SQL-based query language
Scalability
Automatic sharding
Fault tolerance
Consistent replication
External consistency
Wide-area distribution