Guides: How to get started with Spanner on Google Cloud

Find resources for getting started with Spanner, migrating existing databases, using your database, developing applications, and integrating analytics and AI.

Getting started

Video: What is Spanner?

Learn the most important points of Spanner in this six-minute video.

Video: First steps with Spanner

Learn the basics and first steps of setting up a Spanner instance.

Video: Get started with Spanner

Build a Java application with Spanner, using the Spanner emulator.

Quickstart: Create and query a database using the Google Cloud console

Perform basic operations in Spanner using the Google Cloud console.

Free trial: Spanner free trial instances

Learn and explore Spanner features and capabilities at no cost for up to 90 days.

Blog: Introducing Spanner editions

Choose the right edition for your needs and budget: Standard, Enterprise, or Enterprise Plus.

Tutorial: Getting started with game development 

Create Go services that interact with a regional Spanner database in a global game deployment.

Database migration

Documentation: Spanner migration overview

Overview of the process of migrating your database to Spanner.

Documentation: Spanner migration tool

Evaluate Spanner and migrate from a variety of databases with HarbourBridge, an open source tool.

Blog: Data validation for Oracle to Spanner migration

Use the Data Validation Tool to compare data between Oracle and Spanner tables and create validation reports.

Blog: Tips for migrating from MySQL to Spanner

Port your MySQL schema to a Spanner schema.

Customers

Video: Gmail's Spanner revolution - how planet-scale infra transformed silently

How Google migrated billions of users, trillions of emails, and exabytes of data.

Blog: How Deutsche Bank achieved high availability and scalability with Spanner

Spanner's high availability, external consistency, and infinite horizontal scalability made it the ideal choice.

Blog: Google Photos builds user experience on Spanner 

Google Photos relies on Spanner to scale to more than one billion users and four trillion photos and videos.

Video: Scaling Character.AI: How Spanner met their growing needs

Character.AI relied on Spanner as a solid foundation providing reliability, scalability, and price-performance.

Video: How does Uber scale to millions of concurrent requests? 

Uber relies on Spanner to scale to millions of concurrent requests for rides and food deliveries.

Operations and observability

Blog: Geo-partitioning is available on Spanner

Improve database performance and lower costs.

Blog: Evaluating the true cost or TCO of a database

A simple framework for evaluating the total cost of ownership of a database.

Blog: Introducing Spanner dual-region configurations

Maintain high availability and data residency for your database.

Blog: Getting started with fine-grained access control

Protect mission-critical Spanner databases with fine-grained access permissions.

Blog: Get started debugging queries with Query Insights

Learn about Spanner’s Query Insights, a tool that makes it easy to debug query performance issues.

Blog: Getting started with Prometheus and Grafana or the APM of your choice

How to process and visualize metrics from Spanner system tables and export them to the application performance management tool of your choice.

Video: Introducing Spanner Lock and Transaction Insights

How to debug high write latencies and reduce bottlenecks with Lock and Transaction Insights.

Best practices: Spanner end-to-end latency guide

Troubleshoot Spanner components to find the source of latency.

Blog: Debugging Spanner latency using OpenCensus and Go client library

A case study full of tips and tricks for diagnosing the cause of latency using OpenCensus and the Spanner client library for Go.

Blog: Debugging session leaks

See how to determine the root cause of session leaks in Spanner, identify them, and prevent them in the future.

Development

Blog: Introducing Spanner Graph: Graph databases reimagined

Integrate graph, relational, search, and AI capabilities with virtually unlimited scalability.

Video: Developing on PostgreSQL for Spanner

See how easy it is to set up a Spanner database with a PostgreSQL interface and leverage it in a Python-based app.

Video: Setting up Spanner change streams

How to use change streams to process changes made to your Spanner data in near real time.

Blog: Event-driven apps with Spanner change streams

Build event-driven applications with Spanner change streams and message queues like Kafka and Pub/Sub.

Blog: Use Spanner with GORM for relational object mapping

Learn how to use Spanner’s Object Relational Mapping library for Golang.

Blog: The Spanner emulator

Using the offline Spanner emulator for prototyping, development, and testing.

Tutorial: Spanner Qwik Start

How to create a Spanner instance, database, and table; add a schema, write and modify data, and run a query.

Analytics and AI

Video: Data sharing done right: Spanner Data Boost

Scale your application without limits and share your data without compromising performance and security.

Blog: Understanding Spanner Data Boost

Spanner Data Boost runs analytical queries or batch processing jobs without affecting transactional performance.

Lab: Getting started with Spanner Data Boost and BigQuery

Learn how to use Spanner Data Boost to query Spanner data from BigQuery.

Video: Run impactless ad hoc queries and data exports on Spanner

Run ad hoc batch queries and export terabytes of data on demand from your Spanner database without impacting your applications.

Blog: Spanner gets stronger with BigQuery federated queries

Create real-time insights by bridging the gap between operational data and analytics.

Blog: Integrate ML capabilities into your Spanner applications in minutes

Add Vertex AI prediction models to your Spanner-based application in minutes using familiar SQL queries.

Blog: How to make SQL-only ML predictions in Spanner

Learn how to run Vertex AI machine learning predictions on Spanner data, using only SQL queries.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Console