Courseiva

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

TierStorage CostRetrieval CostLatencyUse Case
HotHighestLowestImmediateActive data, frequent reads
CoolLowerHigherImmediateData accessed < once / month
ColdLower stillHigherImmediateData accessed < once / quarter
ArchiveLowestHighest + rehydration delayHoursLong-term compliance retention

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 →

How Courseiva writes practice questions · Editorial policy

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.