AZ-305 Design data storage solutions Practice Question
You are designing a data storage solution for an IoT application that ingests millions of events per second. Each event is a small JSON message (under 1 KB). The solution must support real-time analytics and allow queries on recent data (last 24 hours) with low latency. Historical data (older than 24 hours) should be stored in a cost-optimized manner for occasional compliance queries. Which combination of Azure services should you recommend?
⚠ Common exam trap
Candidates often confuse high-throughput ingestion with query capability, assuming that any service that can ingest data (like Event Hubs) can also serve real-time queries, or that a general-purpose database (like Cosmos DB or SQL Database) can handle the extreme volume and analytics pattern of IoT telemetry.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Azure Data Explorer for real-time analytics and Azure Blob Storage for historical data
Azure Data Explorer (ADX) is purpose-built for real-time analytics on high-velocity data streams, ingesting millions of events per second with sub-second query latency on recent data. Azure Blob Storage provides a cost-optimized tier (e.g., Cool or Archive) for historical data older than 24 hours, which can be queried occasionally via ADX’s continuous export or external table feature. This combination meets both the low-latency real-time analytics requirement and the cost-effective long-term storage need.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Azure Cosmos DB for both real-time and historical data
Why it's wrong here
Azure Cosmos DB, as a multi-model NoSQL database, excels at low-latency point reads and writes for OLTP workloads, but it is not built for high-throughput analytical queries over large time-series datasets. Its request-unit-based cost model becomes prohibitively expensive when storing years of historical IoT data, and complex aggregation queries over huge volumes would degrade performance and consume excessive RUs. Thus, it fails both the real-time analytical querying and the cost-effective historical retention requirements of this IoT solution.
- ✗
Azure Event Hubs for ingestion and Azure Functions for querying
Why it's wrong here
Azure Event Hubs is a streaming ingestion platform with a finite retention window, not a durable store capable of ad-hoc queries, so using it—or Azure Functions acting on it—cannot deliver real-time analytics. Azure Functions are event-driven compute primitives that process each message individually; they lack the sophisticated query engine, indexing, and time-series optimizations needed to run interactive analytical workloads across streaming datasets. Relying on Functions to 'query' data would also require keeping the entire dataset in memory or external state, which is neither practical nor cost-effective for high-volume IoT data.
- ✗
Azure SQL Database with elastic pool
Why it's wrong here
Azure SQL Database with a dedicated or elastic pool is optimized for transactional OLTP workloads with ACID guarantees, not for absorbing the extreme write rates typical of IoT devices—its transaction log and DTU/CPU-based scaling quickly become bottlenecks. Elastic pools are a management construct for sharing resources among multiple databases with low average utilization, not a solution to increase write throughput, and the per-GB storage cost for terabytes of historical data is excessive. Additionally, the relational schema requires upfront design and is less flexible than a columnar store for evolving telemetry schemas.
- ✓
Azure Data Explorer for real-time analytics and Azure Blob Storage for historical data
Why this is correct
Azure Data Explorer is a fast, fully managed analytics database specifically designed for querying large volumes of time-series and log data, with built-in high-throughput ingestion from sources like Event Hubs and low-latency queries for real-time dashboards. For historical data, Azure Blob Storage provides economical, tiered object storage that retains massive data volumes at a fraction of the cost, enabling that data to be rehydrated or queried on demand via technologies like Synapse or ADX’s external table feature. This architecture cleanly separates the hot path for interactive real-time analysis from the cold path for long-term retention, satisfying both performance and cost constraints.
Quick reference
Azure Blob Storage Tier Comparison
| Tier | Storage Cost | Retrieval Cost | Latency | Use Case |
|---|---|---|---|---|
| Hot | Highest | Lowest | Immediate | Active data, frequent reads |
| Cool | Lower | Higher | Immediate | Data accessed < once / month |
| Cold | Lower still | Higher | Immediate | Data accessed < once / quarter |
| Archive | Lowest | Highest + rehydration delay | Hours | Long-term compliance retention |
Go deeper
Related to this question
About these practice questions
One of 795 original AZ-305 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-305 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-305 exam.