Find resources for getting started with Spanner, migrating existing databases, using your database, developing applications, and integrating analytics and AI.
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.
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.
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.
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.
Blog: Introducing Spanner Graph: Graph databases reimagined
Integrate graph, relational, search, and AI capabilities with virtually unlimited scalability.
Whitepaper: Building applications with Spanner full-text search
Leverage Google’s search expertise to power your data search architecture on Spanner.
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.
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.