A manufacturing company installs IoT sensors on equipment in a factory. Each sensor sends a reading (device ID, timestamp, temperature, vibration) every second. The application must store these readings with extremely low write latency, support queries for the latest reading per device, and allow range queries over the last hour for a specific device. The development team expects high throughput writes (millions per day) and does not require complex joins. Which Azure data store is most appropriate for this workload?
Azure Cosmos DB is a multi-model NoSQL database with single-digit-millisecond write and read latencies, automatic indexing, and tunable consistency, making it ideal for high-throughput IoT telemetry from manufacturing sensors. Its schema-agnostic JSON documents easily accommodate varying sensor payloads, and its partitioning enables efficient point reads and time-based range queries. Support for global distribution and a 99.999% SLA further justify it as the purpose-built choice for per-second equipment data ingestion.
Why this answer
Azure Cosmos DB is the most appropriate because it offers single-digit millisecond write and read latencies at any scale, which is critical for the high-throughput, low-latency IoT sensor ingestion described. Its support for automatic indexing and efficient point reads (by device ID and timestamp) enables fast retrieval of the latest reading per device, while its native time-to-live (TTL) and range query capabilities on the timestamp field allow efficient queries over the last hour for a specific device. Additionally, Cosmos DB's schema-agnostic, non-relational model fits the simple key-value structure of sensor readings without requiring complex joins.
Exam trap
The trap here is that candidates often choose Azure Table Storage because it is a low-cost, schema-less NoSQL option, but they overlook its lack of guaranteed single-digit millisecond latency and the need for manual partition key design to avoid throttling under high-throughput IoT workloads.
Why the other options are wrong
Azure Table Storage does not support range queries on timestamps efficiently because its partition key design typically requires equality filters on partition key; range queries across time for a specific device would be inefficient without proper partitioning, and it lacks native support for ordering by timestamp across partitions.
Azure Blob Storage is optimized for storing large unstructured data (e.g., files, images, logs) but does not support low-latency point reads by device ID or efficient range queries over time, nor does it provide native indexing for querying individual sensor readings.
Azure SQL Database is a relational database with higher write latency and overhead for schema enforcement, making it unsuitable for the extreme low-latency, high-throughput write workload of millions of IoT sensor readings per day.