An app needs a relational database with strong consistency across several regions. What do you choose?
Why D is the answer
Spanner
Spanner offers relational semantics with global strong consistency.
In detail
- Spanner is relational, with strong consistency across regions.
- Regional apps may not need this.
Use case
An illustrative scenario, not a real incident.
A global payments app needs the same balance in every region, and Spanner gives strong consistency across them.
See it in different ways
flowchart TD
A{"Access pattern"} -->|"Analytics in SQL"| B["BigQuery"]
A -->|"Huge key lookups"| C["Bigtable"]
A -->|"Global relational consistency"| D["Spanner"]
A -->|"Regional relational app"| E["Cloud SQL or AlloyDB"]
A -->|"Objects and files"| F["Cloud Storage"]
A -->|"In-memory cache"| G["Memorystore"]mindmap
root((Stores))
BigQuery
Analytics
Bigtable
Key lookups at scale
Spanner
Global relational
AlloyDB
PostgreSQL
Firestore
Mobile documents
Memorystore
Microsecond cache
Cloud Storage
Objectsmindmap
root(("Spanner"))
n1["Relational"]
n2["SQL"]
n3["Transactions"]
n4["Global"]
n5["Strong consistency across regions"]Key point: Spanner gives global strong consistency.
Why the other options are wrong
- A. Memorystore
- Memorystore is a cache.
- B. Cloud Storage
- Cloud Storage holds objects.
- C. Firestore in a single region
- A single region does not meet the need.

