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.

Quick start: 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.

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

Blog: Sabre powers the travel industry with Google Cloud 

Learn about Sabre’s 10-year partnership with Google to accelerate transformation and bring innovation to the travel industry.

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.

Case study: CERC processes 100,000 transactions per second with its infrastructure in Google Cloud

Brazil’s largest financial market infrastructure relies on Spanner to analyze, register, and control the settlement of financial assets.

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

See how Uber relies on Spanner to scale to millions of concurrent requests for rides and food deliveries while keeping costs under control.

Operations and observability

Blog: Evaluating the true cost or TCO of a database

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

Blog: Getting started with fine-grained access control

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

Blog: Getting 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

    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.

    Video: Run impact-less 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
    Google Cloud