Ever wonder how Google has been able to coordinate its data centers from all over the world? Well, they found a way to take control of time. Yes, time. And they did so by building the world's first truly global database: Spanner. This system has given Google a way to store information in dozens of data centers, across millions of machines, spanning multiple continents, and it now underpins most of Google's services, including AdWords (the company's primary moneymaker), Gmail, Google Photos, and the Google Play store.
Through Spanner, Google's engineers have taken control of time in a way never done before. Prior to such a system, communication across servers and data centers took time. Having multiple databases meant information could vary from one machine to another. A transaction at one data center wouldn't show up at one across the globe as soon as it took place — it needed time. For the services that Google provides, this variance wasn't an option — they needed a way to make sure that actions and information lined up across the globe.
To solve this problem, Google's engineers developed a unique timekeeping technology called TrueTime. The engineers equipped all of Google's data centers with GPS receivers and atomic clocks, and each center would shuttle its time readings to a master server. Those servers would constantly trade their readings with other servers to produce a common time for all data centers. “This gives you faster-than-light coordination between two places,” Peter Mattis, a former Google engineer, explained to Wired.
TrueTime is just one aspect of Spanner, the power of which is unprecedented and seems to defy logic. Through this system, Google can implement changes in one part of its database without contradicting information on the other side of the planet. Spanner also replicates data readily and reliably across multiple data centers and multiple parts of the world, as well as allows for the retrieval of data should one data center fail.
Now, Google want to make this amazing technology available to customers.
Highly Available and Reliable
Spanner is truly essential for a company like Google, and no one else in the tech world, not Microsoft, Apple, or Amazon, has anything quite like it. Google wants to leverage its position by offering its Spanner tech to customers in the cloud computing market. The result? Cloud Spanner, a version of their unique database that is on the cloud.
“If you are struggling with the scale of your transactional database — you will go to a shared database, or NoSQL,” Google’s Deepti Srivastava told TechCrunch. “If you’re at that stage where you have to make those trade-offs, Spanner is the way to go. You are already doing work to use one of those systems. We try to make that trade-off as simple as possible.”
Some worry that very few companies actually have database needs similar to Google's, so Cloud Spanner might not have that big of a market. Plus, Cloud Spanner won't be free, with a starting price of $0.90 per node per hour (including replication) and $0.30 per GB of storage per month. But Spanner is powerful, and it is unique. “If they offer it, people will want it, and people will use it,” Peter Bailis, an assistant professor of computer science at Stanford University, told Wired.
Google is already in talks with large financial institutions for possible Cloud Spanner adoption, and while there are few truly global businesses like Google, the company hopes that Cloud Spanner could help smaller businesses expand later on.