F1 (Week 12, Wednesday, April 2)

F1 is as mission-critical as it gets

Source: F1: A Distributed Database that Scales

Stores Google AdWords data

F1 does way more than your grandparents’ NoSQL services

Strongly consistent

"Designing applications to cope with concurrency anomalies in their data [eventual consistency] is very error-prone, time-consuming, and ultimately not worth the performance gains." (p. 1068)

Supports database transactions (ACID)

Full SQL query support and indexing

Built on Spanner

(Optional) Spanner: Google’s Globally-Distributed Database

Spanner is a service that provides

Global timestamps provide a total order

The system has an uncertainty measure that indicates fuzziness of times

Latency and throughput for F1

Read latencies of 5–10 ms

Write (commit) latencies of 50–150 ms

User-perceived latencies of 200 ms

Queries more highly paralellizable

Some limitations

Higher CPU costs than MySQL

Clients have to change access patterns and schema to achieve above latency

Upcoming activities

Final assignment

The final assignment, which builds on and integrates the last two assignments into an eventually-consistent service, will be made available tonight or early tomorrow.

Course review

The answer key to the midterm will be made available on-line.

Exercises for the final exam will be made available on-line.