Earlier this year, Google announced the beta launch of Cloud Spanner, the database technology it developed for its own use offered as a cloud service. Today, it made available as part of that service the actual capability that makes Spanner uniquely powerful.
That capability is running a single instance of the database across data centers in multiple regions and multiple continents. Enabled by TrueTime, a technology developed at Google, Spanner keeps data in the repository consistent across the world, updating it in real-time as data is added or deleted. It underpins Google’s biggest services, such as Gmail, AdWords, and Google Play Store.
TrueTime involves atomic clocks and GPS receivers located in each Google data center to help make sure time is consistent across the infrastructure. Servers tasked with keeping time take readings from those devices and share time with time-keeping servers elsewhere around the world, ensuring the global network runs in nearly perfect sync.
“It’s one of the truly differentiating capabilities,” Deepti Srivastava, Cloud Spanner product manager at Google, said about the synchronization capability in an interview with Data Center Knowledge.
Users of the beta release could only set up a Spanner database across multiple data centers in a single Google cloud availability region – not across multiple regions as they do now.
Google released Cloud Spanner without the cross-region feature first to test the demand. Spanner was developed for its hyper-scale needs, and most businesses don’t operate at that kind of scale. “It’s all cool to have tech for tech’s sake, and this is cool technology,” Srivastava said, but “we wanted to make sure it actually met customer business needs.”
And market response appears to have been positive. Three of the cloud customers Google is showcasing as users of the new service are marketing automation company Marketo, note-taking app maker Evernote, and maker of software for mobile operators Redknee. Evernote, for example, is replacing a tangle of 750 MySQL database instances it uses to manage billions of user notes with a single instance of Spanner.
The main advantage of replicating data across regions is resiliency. A data center outage in Singapore doesn’t affect the database in Mumbai, which means the application that uses the database continues running uninterrupted. Google is promising higher availability than any other cloud database service, guaranteeing 99.999 percent availability, with no planned downtime, which means no more than 5 minutes of unplanned-for downtime per year.
Spanner is a relational database, which means it can answer complex SQL queries, but it's a relational database that can scale far and wide -- something that's been hard to do for relational databases as opposed to non-relational databases. This solves the problem of workarounds companies have had to do to reconcile the need to scale databases to support big data analytics for example, while letting staff keep using the widely familiar SQL.
It also means companies don’t have to replicate data across multiple MySQL shards for high availability and get into a situation like Evernote’s, with hundreds and hundreds of database shards to manage.
It “makes for an extremely complex and brittle application,” Srivastava said. “That is a huge operations and maintenance headache.”