Firestore
A serverless NoSQL document database built for mobile and web application data, flexible schemas, and real-time client synchronization. It is not a strong fit for workloads needing complex relational joins or multi-row transactions across unrelated entities, which point instead to Cloud SQL or Spanner.
Frequently Asked Questions
What made Firestore's real-time sync a bigger deal than typical database features?
Firestore maintains live listeners so client apps (mobile or web) automatically receive updates the instant underlying data changes, without polling — a capability its predecessor, the Realtime Database, also had but with a less scalable data model. Firestore layered a proper document/collection hierarchy with richer querying on top, while keeping offline support: clients can read and write against a local cache and sync automatically once connectivity returns.
When should a team pick Cloud SQL or Spanner over Firestore instead?
Firestore doesn't support multi-row ACID transactions across unrelated documents (its transaction model is scoped and has strict retry semantics under contention) and has no native join operator — relational queries have to be denormalized into the data model up front. Workloads needing complex joins, strict relational integrity, or heavy transactional writes across many entities are a better fit for Cloud SQL (single-region relational) or Spanner (globally distributed relational).