Firestore
Google Cloud's serverless, horizontally scaling NoSQL document database. Stores data as documents in hierarchical collections, offers strongly consistent reads, multi-region replication, realtime snapshot listeners, and automatic scaling with per-operation billing.
Pros
- Automatic horizontal scaling with no capacity planning — traffic spikes from zero to millions of ops without resharding work. 0
- Strong consistency and multi-region synchronous replication (99.999% SLA in multi-region mode) without operator effort. 0
- Realtime snapshot listeners give sub-second data sync to clients with delta updates, not polling. 0
- Offline-first client SDKs persist and replay mutations, making flaky-network mobile UX dramatically simpler. 0
- Every queryable field is auto-indexed by default; single-field queries stay fast at any collection size. 0
- True serverless billing — idle projects cost near zero; no minimum instance charges. 0
Cons
- Query model is intentionally narrow: no joins, no aggregations beyond count/sum/avg, no OR across fields without composite workarounds — data must be modeled around known queries. 0
- Denormalization is mandatory at scale, shifting integrity enforcement into application code and batched fan-out writes. 0
- Per-document read billing punishes list-heavy screens; rendering a 200-item feed costs 200 reads every cold load. 0
- Document (1 MiB) and write-rate (~1/sec sustained per document) limits force sharded-counter patterns for hot aggregates. 0
- Composite index management becomes operational overhead as query variety grows; missing indexes fail queries at runtime. 0
- Effectively GCP-exclusive: no self-hosted or alternative-cloud deployment path, so the storage layer is a one-way architectural commitment. 0