Database / Google Spanner Database Interview questions
How does Spanner achieve external consistency?
External consistency means that if transaction A commits before transaction B starts (in real time), then A's timestamp is guaranteed to be less than B's, and any client observing both will see them in that same order. Spanner delivers this through three cooperating mechanisms.
- TrueTime supplies a bounded time interval for "now" rather than a single unreliable clock reading.
- Commit wait delays acknowledging a commit until TrueTime guarantees the assigned timestamp is in the past everywhere.
- Two-phase commit over Paxos groups coordinates transactions that span multiple splits, ensuring all participants agree before the client sees success.
The result is a system where transaction ordering matches real-world causality, which is a stronger guarantee than the serializability most distributed databases offer, since serializability alone doesn't pin ordering to wall-clock time.
More Related questions...