# Spanner

![](https://1074895821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MKpcZyxGXJcyzkNoKkm%2F-MUOxb5bHe1avNAJoUHq%2F-MUPYdoiTpi2zL118J0s%2Fimage.png?alt=media\&token=7d7134aa-ce41-4789-b3f4-94be1f951ff0)

![Schema of the TABLE \`orders\`](https://1074895821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MKpcZyxGXJcyzkNoKkm%2F-MUOxb5bHe1avNAJoUHq%2F-MUPYrF3BCE9hN4FO34k%2Fimage.png?alt=media\&token=c558f2c8-b319-49f8-9e29-50d84fea18e2)

Migrate Cloud for MySQL database to Spanner. Concept: <https://cloud.google.com/solutions/migrating-mysql-to-cloudsql-concept>

![](https://1074895821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MKpcZyxGXJcyzkNoKkm%2F-MUPiFeLbXChtXq2P54d%2F-MUPiJ9PN3LrB7S9kadI%2Fimage.png?alt=media\&token=caa4015c-3b8d-4edd-8498-d1d30a77b9ab)

## Leaderboard

.<https://google.qwiklabs.com/focuses/1815?parent=catalog>

```sql
CREATE TABLE Players (
  PlayerId INT64 NOT NULL,
  PlayerName STRING(2048) NOT NULL,
) PRIMARY KEY(PlayerId);

CREATE TABLE Scores (
  PlayerId INT64 NOT NULL,
  Score INT64 NOT NULL,
  Timestamp TIMESTAMP NOT NULL OPTIONS (
    allow_commit_timestamp = true
  ),
) PRIMARY KEY(PlayerId, Timestamp),
  INTERLEAVE IN PARENT Players ON DELETE NO ACTION
```

## Vs

If there are multiple data stores, we prefer spanner over BigTable.
