Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Google Updates Cloud Spanner with New Features: Backup on Demand, Local Emulator, and More

Google Updates Cloud Spanner with New Features: Backup on Demand, Local Emulator, and More

This item in japanese

In a recent blog post, Google announced a slew of new features for Cloud Spanner. The public cloud provider released the service with new updates including the managed backup-restore feature, foreign key support, query optimizer versioning feature, a C++ client library, and a local emulator.

Cloud Spanner is a globally distributed, scalable, multi-version database service on the Google Cloud Platform (GCP).  Since its inception, Google keeps evolving the database service since its beta with updates such as updates to its data manipulating (DML) SQL language, and new regions, and multi-region configurations. Now, it further enhances Cloud Spanner with another set of updates.

The most important new feature is the managed backup-restore, which is now generally available and provides protection against user or application errors that result in logical data corruption. With the managed backup-restore users can take a consistent, on-demand backup of databases in their regional or multi-regional configurations and restore those backups onto the same or different instance with the same instance configuration. Furthermore, these restores are optimized to reduce the time to first-byte access to the data in a backup – which means users can get access to terabytes of data being restored from a backup within minutes after failure according to the blog post.

Users can get access to the managed backup-restore via client libraries, gcloud, and cloud console, and use the feature to back up and restore their databases, regardless of size.


Next to the introduction of the managed backup-restore capability, Google also added new features to add more reliability, flexibility, and ease of use when developing applications with Spanner. These new generally available features are:

  • Foreign keys: Allowing users to define referential integrity constraints between columns in different tables.
  • C++ client library: Supporting C++ application development for Spanner and including best practices such as session pool management and retry logic.
  • Query optimizer versioning: Allowing users more control running their database, application, and queries with specific optimizer versions that produce the best performance, and switching between the new version or prior versions at their convenience. Also, Jaana Dogan, engineer on Spanner at Google, said in a tweet:

You can also write standalone tools to see the improvements/regressions for your queries via the execution stats.

Lastly, another update is the new local emulator feature, which is currently in beta and useful for local testing purposes. The emulator can run in an offline environment and emulates the Spanner API (both REST and gRPC) and SQL layer. Sneha Shah, software engineer at Google, stated in a Medium blog post on the Cloud Spanner local emulator:

Cloud Spanner emulator reduces application development cost and improves developer productivity for Cloud Spanner customers. We plan to continue building, and supporting customer-requested features, and you can follow Cloud Spanner emulator on GitHub for more updates.

For more details about the pricing of Cloud Spanner, see the pricing page.

Rate this Article