(Source: A royalty free photo on unsplash)
📝 tldr;
To handle the demanding uptime and scale requirements imposed by their critical business applications, Google built a widely-distributed database called Spanner - the service can span multiple machines and multiple data centers and regions around the world.
Spanner supports externally consistent reads at global scale. It does so by:
Implementing snapshot-based reads that don’t require locks.
Using a distributed clock called TrueTime to get around clock skew issues.
Timestamps for each transaction to generated shared snapshots.
🙋♀️ Credit to our Contributing Author
Bhavana wrote this amazing article to share with our 18,000+ readers! If you’re also interested in being a byte-sized design writer, consider applying here!
Bhavana Hindupur is a Principal Software Engineer at Microsoft. She brings experience from her tenure at tech giants Google and Amazon, where she designed and implemented several large-scale solutions in the cloud.
Read more from her at thepeoplessoftwareengineer
🤨 What is external consistency?
It is the guarantee that at any given point in time, any database read will see the effects of all transactions committed by that point.
🤷♀️ Why is it tricky to implement at global scale?
Keep reading with a 7-day free trial
Subscribe to Byte-Sized Design to keep reading this post and get 7 days of free access to the full post archives.