Databases

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

Compare Firestore against