Skip to content

Companies

Google: bigtable and spanner

Two systems built for different guarantees: Bigtable scales structured storage across machines; Spanner adds globally distributed, externally consistent transactions.

The idea

Bigtable and Spanner are useful to study together because they solve different problems. Bigtable gives applications a sparse, distributed map whose rows are ordered by key; tablets split that key range across servers, and an immutable-file storage design makes writes and compaction explicit. It trades relational querying for control over data layout and scale.

Spanner keeps automatic sharding and synchronous replication, then adds a relational model and externally consistent transactions across regions. Its time API exposes clock uncertainty so the system can decide when a transaction's timestamp is safe. That guarantee has a cost: coordinating a write across replicas can add latency.

The published papers describe Google systems, not questions Google is known to ask in interviews. Use them to practise the underlying choices: data partitioning, replication, transaction guarantees, and the latency each guarantee costs.

Read the originals

Written by the engineers who built it.

Is this an actual Google interview question?

No. This case study explains published engineering work; it does not claim that Google asks this exact system in interviews. Use the source and linked exercise to practise the design decisions, constraints, and failure cases that transfer to unfamiliar interview prompts.

Practise it

Make the decisions yourself, then compare.