Google Releases Spanner Emulator
Written by Kay Ewbank   
Monday, 01 June 2020

Google has released an offline emulator for Cloud Spanner, its globally-distributed, and strongly consistent database service built for the cloud. The emulator is designed to make Cloud Spanner more accessible to the broader developer community.

Google describes Spanner as combining the best of relational and NoSQL databases - scalable, distributed, but supporting ACID transactions and SQL queries. Spanner is used internally at Google for many of Google's apps, including Gmail, Photos, and Calendar. It is available as a database as a service running on Google Cloud.

Google's internal implementation of Spanner is the largest single database on earth and spans all Google’s data centers - hence the name Spanner. Describing it in a research paper in 2012, Google researchers said that:

"At the highest level of abstraction, it is a database that shards data across many sets of Paxos state machines in data-centers spread all over the world. Replication is used for global availability and geographic locality; clients automatically failover between replicas. Spanner automatically reshards data across machines as the amount of data or the number of servers changes, and it automatically migrates data across machines (even across datacenters)to balance load and in response to failures. Spanner is designed to scale up to millions of machines across hundreds of datacenters and trillions of database rows."

spanner

Google says Spanner has seen "huge customer adoption across several different industries and verticals", leading to a large community of application developers using Cloud Spanner. This is the market the offline emulator is aimed at. It is intended to reduce application development cost and improve developer productivity for the customers.

The emulator provides a local in-memory Spanner service emulator that you can use for prototyping, developing and testing applications locally.  Data is stored in memory so doesn't persist across runs. Once an application is working with the emulator, all you need to do is change the endpoint configuration to carry out end-to-end testing.

The Cloud Spanner emulator comes with the full set of Spanner APIs, including the SQL and DDL features that could be run locally for prototyping, development and testing. You can carry out querying of schema metadata for a database using Information Schema. REST and gRPC APIs are supported and can be used with the existing client libraries, OSS JDBC driver as well as the Cloud SDK. The emulator is supported natively on Linux, and requires Docker on MacOS and Windows platforms. IDEs such as IntelliJ and Eclipse can be configured to directly communicate with the Cloud Spanner emulator endpoint.

Google plans to continue building and supporting customer requested features. The Cloud Spanner emulator is available on GitHub.

spanner

More Information

Spanner Research Document

Spanner Homepage

Spanner Emulator On GitHub

Related Articles

Google Spanner To Settle Relational Vs NoSQL Debate

ZetaSQL Parser & Analyzer Code Released

Google Cloud Dataflow SDK

Google Moves On From MapReduce, Launches Cloud Dataflow

BigQuery Now Open to All

Google BigQuery Service

Google BigQuery gets scripting and spreadsheets

First Hybrid Open-Source RDBMS Powered By Hadoop and Spark

Google Showcases F1

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


OpenAI Library For .NET Exits Beta
19/11/2024

A few months ago the OpenAI .NET library was released as a beta. It has now reached version 2.0.0 and the time has come to leave beta and, with a few amendments enter production readiness.



OpenAI Releases Swarm
25/10/2024

OpenAI has released an experimental educational framework for exploring ergonomic, lightweight multi-agent orchestration. Swarm is managed by the OpenAI Solution team, but is not intended to be used i [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info