# Spanner documentation

[Read product documentation](https://docs.cloud.google.com/spanner/docs/getting-started/set-up.md.txt)
Spanner is a fully managed, mission-critical database
service that brings together relational, graph, key-value, and search. It offers transactional
consistency at global scale, automatic, synchronous replication for high availability, and support
for two SQL dialects: GoogleSQL (ANSI 2011 with extensions) and PostgreSQL.

[Go to the Spanner product page for more.](https://cloud.google.com/spanner)


Not sure what database option is right for you? Learn more about our
[database services](https://cloud.google.com/products/databases/).

## Documentation resources

Find quickstarts and guides, review key references, and get help with common issues.

### Guides

-

  [Quickstart: Create and query a database by using the Google Cloud console](https://docs.cloud.google.com/spanner/docs/create-query-database-console.md.txt)

-

  [Create and manage instances](https://docs.cloud.google.com/spanner/docs/create-manage-instances.md.txt)

-

  [Choose GoogleSQL or PostgreSQL Google Cloud console](https://docs.cloud.google.com/spanner/docs/choose-googlesql-or-postgres.md.txt)

-

  [Import and export data in CSV format](https://docs.cloud.google.com/spanner/docs/import-export-csv.md.txt)

-

  [Create and manage foreign key relationships](https://docs.cloud.google.com/spanner/docs/foreign-keys/how-to.md.txt)

-

  [Insert, update, and delete data using Data Manipulation Language (DML)](https://docs.cloud.google.com/spanner/docs/dml-tasks.md.txt)

-

  [Insert, update, and delete data using mutations](https://docs.cloud.google.com/spanner/docs/modify-mutation-api.md.txt)

-

  [Tuning Query Performance](https://docs.cloud.google.com/spanner/docs/query-tuning.md.txt)

-

  [Use the Dataflow connector](https://docs.cloud.google.com/spanner/docs/dataflow-connector.md.txt)

-

  [Set up and query Spanner Graph using the Google Cloud console](https://docs.cloud.google.com/spanner/docs/graph/set-up.md.txt)

-

  [Monitor instances with Cloud Monitoring](https://docs.cloud.google.com/spanner/docs/monitoring-cloud.md.txt)

-

  [Emulate Spanner locally](https://docs.cloud.google.com/spanner/docs/emulator.md.txt)

-

  [Troubleshoot query performance regressions](https://docs.cloud.google.com/spanner/docs/troubleshooting-query-performance-regressions.md.txt)

### Reference

-

  [Client libraries and drivers](https://docs.cloud.google.com/spanner/docs/reference/libraries.md.txt)

-

  [REST API](https://docs.cloud.google.com/spanner/docs/reference/rest.md.txt)

-

  [RPC API](https://docs.cloud.google.com/spanner/docs/reference/rpc.md.txt)

-

  [GoogleSQL](https://docs.cloud.google.com/spanner/docs/reference/standard-sql/lexical.md.txt)

-

  [PostgreSQL](https://docs.cloud.google.com/spanner/docs/reference/postgresql/overview.md.txt)

-

  [Graph Query Language](https://docs.cloud.google.com/spanner/docs/reference/standard-sql/graph-intro.md.txt)

-

  [Information schema](https://docs.cloud.google.com/spanner/docs/information-schema.md.txt)

-

  [Query execution operators](https://docs.cloud.google.com/spanner/docs/query-execution-operators.md.txt)

-

  [gcloud command-line tool](https://docs.cloud.google.com/sdk/gcloud/reference/spanner)

### Resources

-

  [Pricing](https://docs.cloud.google.com/spanner/pricing)

-

  [Quotas and limits](https://docs.cloud.google.com/spanner/quotas.md.txt)

-

  [Release notes](https://docs.cloud.google.com/spanner/docs/release-notes.md.txt)

-

  [Get support](https://docs.cloud.google.com/spanner/docs/getting-support.md.txt)

## Related resources

Training and tutorials Use cases Code samples Explore self-paced training, use cases, reference architectures, and code samples with examples of how to use and connect Google Cloud services. Training Training and tutorials

### [Google Cloud Fundamentals: Core Infrastructure](https://docs.cloud.google.com/training/course/core-infrastructure)


These lectures, demos, and hands-on labs give you an overview of Google Cloud products and services so that you can learn the value of Google Cloud and how to incorporate cloud-based solutions into your business strategies.


Training Training and tutorials

### [Architecting with Google Cloud: Design and Process](https://docs.cloud.google.com/training/course/architecting-design-process)


This course features a combination of lectures, design activities, and hands-on labs to show you how to use proven design patterns on Google Cloud to build highly reliable and efficient solutions and operate deployments that are highly available and cost-effective.


Tutorial Training and tutorials

### [Spanner with Spring Boot](https://codelabs.developers.google.com/codelabs/cloud-spring-spanner)


Learn how to connect to Cloud SQL from Cloud Run


Architecture Use cases

### [Architecting disaster recovery for locality-restricted workloads](https://docs.cloud.google.com/solutions/architecting-disaster-recovery-for-locality-restricted-workloads)


Discusses how to use Google Cloud to architect for disaster recovery (DR) to meet location-specific requirements.

Disaster Recovery

<br />

Use case Use cases

### [Continuous data replication to Spanner using Striim](https://docs.cloud.google.com/solutions/partners/continuous-data-replication-cloud-spanner-striim)


Demonstrates migrating a MySQL database to Spanner using Striim.

Replication Migration

<br />

Architecture Use cases

### [Database migration: Concepts and principles (Part 1)](https://docs.cloud.google.com/solutions/database-migration-concepts-principles-part-1)


Introduces concepts, principles, terminology, and architecture of near-zero downtime database migrations to Google Cloud.

Migration

<br />

Use case Use cases

### [Creating a change log with JDBC using the commit timestamp feature of Spanner](https://docs.cloud.google.com/solutions/using-spanner-commit-timestamp.md.txt)


Shows how to use the commit timestamp feature to track the date and time when changes are made to your database records.

Java Changes

<br />

Best practice Use cases

### [Best practices for using Spanner as a gaming database](https://docs.cloud.google.com/solutions/best-practices-cloud-spanner-gaming-database)


Describes best practices for using Spanner as the primary backend database for game state storage.

Shards Gaming

<br />

Code sample Code Samples

### [Getting started with Spanner in Python](https://docs.cloud.google.com/spanner/docs/getting-started/python.md.txt)


First steps using Spanner with Python


Code sample Code Samples

### [Getting started with Spanner in Node.js](https://docs.cloud.google.com/spanner/docs/getting-started/nodejs.md.txt)


First steps using Spanner with Nde.js


Code sample Code Samples

### [Getting started with Spanner in Java](https://docs.cloud.google.com/spanner/docs/getting-started/java.md.txt)


First steps using Spanner with Java


Code sample Code Samples

### [Getting started with Spanner in PHP](https://docs.cloud.google.com/spanner/docs/getting-started/php.md.txt)


First steps using Spanner with PHP


Code sample Code Samples

### [Getting started with Spanner in C#](https://docs.cloud.google.com/spanner/docs/getting-started/csharp.md.txt)


First steps using Spanner with C#


Code sample Code Samples

### [Getting started with Spanner in Ruby](https://docs.cloud.google.com/spanner/docs/getting-started/ruby.md.txt)


First steps using Spanner with Ruby


Code sample Code Samples

### [Getting started with Spanner in C++](https://docs.cloud.google.com/spanner/docs/getting-started/cpp.md.txt)


First steps using Spanner with C++


## Related videos