A company needs to store petabytes of time-series IoT sensor data and query it with single-digit millisecond latency at millions of reads per second. The data has a simple key-value structure with timestamps. Which Google Cloud database is MOST appropriate?
Trap 1: Firestore
Firestore is a document-oriented NoSQL database optimized for mobile and web applications with hierarchical data, not for high-throughput time-series ingestion. It enforces document size and write-rate limits per document, and its query engine is designed for flexible indexing on moderate datasets, not sustained millions of QPS. Sensor data would quickly hit contention and throttling, and the lack of native time-series row-key patterns forces inefficient composite indexes.
Trap 2: BigQuery
BigQuery is a columnar analytics data warehouse, where query latency is measured in seconds, not milliseconds, because it is optimized for scanning and aggregating massive datasets, not point lookups. Streaming ingestion is eventually consistent and not designed for per-sensor read-after-write access at IoT scale. Using BigQuery for real-time sensor retrieval would incur high cost and unacceptable latency, as its strength lies in batch analysis, not transactional or time-series point queries.
Trap 3: Cloud Spanner
Cloud Spanner is a globally distributed relational database built for strong consistency and ACID transactions, which introduces overhead like distributed Paxos consensus and transaction coordination. These mechanisms guarantee correctness for multi-row transactions but increase read latency and reduce write throughput for simple time-series appends. Its SQL and relational schema also force schema rigidity, making it a poor fit for high-velocity, schema-evolving IoT data where single-digit millisecond point reads are required.
- A
Cloud Bigtable
Cloud Bigtable is the correct choice for petabytes of time-series IoT sensor data. Its wide-column NoSQL design and distributed storage engine deliver single-digit millisecond latency for point reads and range scans, while scaling horizontally to millions of queries per second by adding nodes. Row keys structured as (sensor ID, timestamp) enable efficient time-ordered writes and fast retrieval, making it purpose-built for high-ingest, append-heavy workloads.
- B
Firestore
Why wrong: Firestore is a document-oriented NoSQL database optimized for mobile and web applications with hierarchical data, not for high-throughput time-series ingestion. It enforces document size and write-rate limits per document, and its query engine is designed for flexible indexing on moderate datasets, not sustained millions of QPS. Sensor data would quickly hit contention and throttling, and the lack of native time-series row-key patterns forces inefficient composite indexes.
- C
BigQuery
Why wrong: BigQuery is a columnar analytics data warehouse, where query latency is measured in seconds, not milliseconds, because it is optimized for scanning and aggregating massive datasets, not point lookups. Streaming ingestion is eventually consistent and not designed for per-sensor read-after-write access at IoT scale. Using BigQuery for real-time sensor retrieval would incur high cost and unacceptable latency, as its strength lies in batch analysis, not transactional or time-series point queries.
- D
Cloud Spanner
Why wrong: Cloud Spanner is a globally distributed relational database built for strong consistency and ACID transactions, which introduces overhead like distributed Paxos consensus and transaction coordination. These mechanisms guarantee correctness for multi-row transactions but increase read latency and reduce write throughput for simple time-series appends. Its SQL and relational schema also force schema rigidity, making it a poor fit for high-velocity, schema-evolving IoT data where single-digit millisecond point reads are required.