Google has externalized a globally scalable database service that leapfrogs its cloud competitors, but it may be...
ahead of its time.
Cloud Spanner is a fully managed service currently in beta that combines the consistency of transactional relational databases with the distributed, horizontal scaling typically associated with NoSQL databases. The new Google cloud database service aims to simplify management through global scale and high availability, without the threat of data corruption across complex systems.
Quizlet Inc., an online learning company in San Francisco that supports more than 20 million users each month, relies on MySQL as its primary database. But, as the company has grown, it's started to approach barriers, despite using Google Cloud Platform's (GCP) largest VMs.
"You can optimize queries, add indexes and compression, split out tables onto other hardware and do replication, but having done that, you still have this fundamental barrier unless you use horizontal sharding -- but then you're still limited in how much you can write to a single machine," said Peter Bakkum, platform lead at Quizlet.
Quizlet has tested Cloud Spanner for months and sees it as a potential solution to this problem.
"It does what it advertises in that it's an extremely scalable relational database," Bakkum said. "You can tweak the number of nodes for units of scaling in a manner of seconds."
The major issue Cloud Spanner addresses is database replication on a global scale. It provides data consistency even if multiple users conduct transactions and connect to data centers on opposite ends of the planet, said Tony Baer, principal analyst at Ovum, based in London. Cloud Spanner eliminates that bottleneck by using the Paxos system of protocols, which relies on an algorithm to create consensus among globally distributed nodes to determine which location, largely based on data gravity, is the most authoritative to conduct the commit.
"This is the heartbeat of your business," Baer said. "It's not like an analytics database, like Hadoop ... if a transactional system crashes, your business is down."
Databases, and the massive amounts of data they house, have become a heated competition among public cloud providers. Amazon Web Services (AWS), which dominates the public cloud market, has publicly battled with Oracle, and it claims its Aurora MySQL-compatible database is its fastest-growing service. However, Cloud Spanner represents a system that other cloud providers -- and potentially no other tech company -- can provide.
Other companies, such as NuoDB, Aerospike and Clustrix, offer some variation on Paxos, but none can scale to the extent of Cloud Spanner, Baer said. Ultimately, Cloud Spanner competes not against the other major cloud providers, but against Oracle and SQL database engines, which take years to perfect and enable more complex functions. Oracle uses sharding and intelligent management to solve the scale issues around SQL databases.
"Oracle has a very mature SQL engine," Baer said. "You're talking about 30 years of IP [intellectual property] in there, so you don't surpass that overnight with a new kid on the block."
Google has been working on this technology, known internally simply as Spanner, for a decade to meet its own needs. The company has tested Spanner with hundreds of applications and petabytes of data across data centers around the world. Today, it supports tens of millions of queries per second and serves as the backbone for products, such as AdWords and Play.
Cloud Spanner is more scalable, but it's unclear who can use this service now, Baer said. It would seem to be a natural fit for a global organization, such as a major bank, to consolidate its databases, but that would take years to gain significant adoption. In the meantime, it could work well for a supply chain management or for internet-of-things workloads.
"Cloud Spanner will have to prove itself as something that enterprises need, because it's not something they're used to," Baer said.
Bakkum said he's skeptical of all managed systems like this, especially since he recently tested a turnkey service that eventually didn't live up to its billing.
"Google is one of the few companies I would trust to deliver a service like this," he said. "Distributed databases are complex, and it's difficult to get all the details right."
This service won't immediately gain a foothold, because enterprises may not even realize they have this problem or know that there are ways to solve it, said Nick Heudecker, an analyst at Gartner. But these types of scale issues are no longer reserved to the Googles of the world.
"More and more applications that started on a single server, or a single data center -- more and more organizations are finding they have, to some degree, Google-like problems, but they're not going to hire thousands of engineers to replicate these types of solutions," he said.
JDA Software Group Inc., a global retail and supply chain software company in Scottsdale, Ariz., moved to Google Cloud Platform in 2015 to build its next-gen products, and it's currently testing Cloud Spanner. Adoption will come down to a company's readiness to shift from a traditional database and invest heavily in new technologies, said John Sarvari, group vice president of technology at JDA.
John Sarvarigroup vice president of technology, JDA
"Not many organizations are ready for that today. But for those that are, this will be tremendously advantageous," he said.
JDA uses Oracle for its traditional workloads, but that carries a price beyond just licensing. There are considerable operational staff demands to maintain high availability, disaster recovery, and create and tune indexes.
The company began to test Cloud Spanner to make its supply chain more responsive by being able to take information from any node globally without having to add more nodes or worry about the eventual consistency that limits NoSQL.
JDA already uses other Google cloud database and storage services, such as BigQuery, Bigtable and Cloud Datastore, to provide a catalog of approved services for its developers, and it will incorporate Cloud Spanner once it conducts due diligence on the full release, Sarvari said.
"One of the reasons we're using this model is we want to really remove any responsibility for operations tasks where we have the ability to give that down to a third-party, which, in this case, is Google," he said.
GCP continues to mature
As Google tries to catch up to AWS and Azure, it's still not without its shortcomings. In particular, it continues to take hits over its ability to woo enterprises. Google had issues with service disruptions over the past year, too -- the most recent just last month when users were unable to create new instances for more than two hours. But early adopters say the roll out of Cloud Spanner is yet another sign of how Google is changing and learning the vernacular of enterprises.
Google came to JDA a year ago to conduct workshop to gather feedback about what was missing from Spanner and would be required for an enterprise to adopt the technology. In the past, the tech giant may have asked for customers' complete trust.
"We're really starting to see Google morph into more of an enterprise-serving organization," Sarvari said.
Trevor Jones is a news writer with SearchCloudComputing and SearchAWS. Contact him at firstname.lastname@example.org.
Google advances its key management cloud service
New Google cloud consulting service a two-way street
Oracle evolves cloud strategy through Dyn acquisition