Google Cloud Spanner: A database which offers the best of both worlds
Two worlds collide image via Shutterstock
Google just announced that its globally distributed relational database Cloud Spanner has hit public beta. Developers and database administrators no longer have to choose between traditional databases and NoSQL databases.
Cloud Spanner seems to offer the best of both worlds: traditional databases and NoSQL databases. According to the blog post announcing the public beta, “breaks that dichotomy, offering both of these critical capabilities in a single, fully managed service.”
The key benefits that Cloud Spanner provides to DBAs are the following:
- Focus on your application logic instead of spending valuable time managing hardware and software
- Scale out your RDBMS solutions without complex sharding or clustering
- Gain horizontal scaling without migration from relational to NoSQL databases
- Maintain high availability and protect against disaster without needing to engineer a complex replication and failover infrastructure
- Gain integrated security with data-layer encryption, identity and access management and audit logging
Cloud Spanner can be used for “operational workloads supported by traditional relational databases, including inventory management, financial transactions and control systems, that are outgrowing those systems. It supports distributed transactions, schemas and DDL statements, SQL queries and JDBC drivers and offers client libraries for the most popular languages, including Java, Go, Python and Node.js.”
Cloud Spanner — What is its USP?
The idea of Cloud Spanner came into being a decade ago, when “a team of systems researchers and engineers at Google set out to develop a globally-distributed database that could bridge this gap. In 2012, we published the Spanner research paper that described many of these innovations.”
According to the research paper, “Spanner combines and extends on ideas from two research communities: from the database community, a familiar, easy-to-use, semi-relational interface, transactions, and an SQL-based query language; from the systems community, scalability, automatic sharding, fault tolerance, consistent replication, external consistency, and wide-area distribution.”
The pricing model charges for compute node-hours, actual storage consumption (no pre-provisioning) and external network access. In short, “you’ll only pay for what you use.”