Detailed Design of Spanner
Learn about different components of the Spanner system.
Universe is the term for a Spanner deployment. Since Spanner handles data on a global scale, only a select few universes will be active at any given time. The components of Spanner are as follows:
Optimized Spanner server organization: This performs automatic resharding based on the data size and load and facilitates the client's request of read and write.
TrueTime API: This is an API that provides the time within well-defined error bounds. It can be used to ensure strong external consistency and global serialization.
Strong network infrastructure: We should have a redundant and highly available network that provides global connectivity to make high performance for Spanner possible.
First, we will understand how the components work together in Spanner's deployment. In the next lessons, we will learn about the TrueTime API, which makes Spanner unique. Moreover, we will also learn how a strong network helps Spanner to be a strongly consistent database.
Question: Considering the existence of Megastore, Google went on to develop and design Spanner. Take some time to study the motivations and key reasons behind Google Spanner’s development despite Megastore’s presence. What unique characteristics and capabilities does Spanner bring to the table, and in what ways does it address the limitations or extend the capabilities of Megastore?