Courseiva

AZ-305 Design data storage solutions Practice Question

You are designing a data storage solution for a global e-commerce platform that handles millions of transactions per day. The platform uses Azure Cosmos DB for its transactional data. The company wants to implement a real-time analytics pipeline to monitor sales trends and detect anomalies. The analytics must be performed on the transactional data with minimal latency (under 5 seconds). The solution must not impact the transactional workload's performance. The analytics queries involve aggregations over time windows and joins with reference data stored in Azure SQL Database. You need to recommend a solution. Which option should you choose?

⚠ Common exam trap

A common mix-up: candidates choose Azure Synapse Link (Option A) thinking it provides real-time analytics, but they overlook that Synapse Link's analytical store is refreshed asynchronously (typically every 1-5 minutes) and serverless SQL queries add additional latency, making it unsuitable for sub-5-second requirements.

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

✓

Use Azure Cosmos DB change feed to stream data to Azure Stream Analytics, which performs the aggregations and joins with reference data from Azure SQL Database.

Azure Cosmos DB change feed enables real-time streaming of transactional data to Azure Stream Analytics, which can perform low-latency aggregations and joins with reference data from Azure SQL Database without impacting the transactional workload. This architecture meets the sub-5-second latency requirement and avoids any direct query load on Cosmos DB.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Enable Azure Synapse Link for Cosmos DB and use Synapse serverless SQL to query the transactional data directly.

    Why it's wrong here

    Synapse Link for Cosmos DB replicates transactional data into a separate analytical store asynchronously, so serverless SQL queries operate on a snapshot that lags the live transaction commit. While it supports HTAP patterns, the synchronization delay, combined with the computational overhead of complex joins across the analytical store, can easily exceed the required 5-second latency, making it unsuitable for real-time alerting.

  • ✗

    Use Azure Data Factory to copy data from Cosmos DB to Azure Synapse Analytics every minute, and run analytics queries in Synapse.

    Why it's wrong here

    Azure Data Factory (ADF) is an orchestration and batch data movement service; scheduling a copy pipeline every 60 seconds introduces scheduling granularity, pipeline start-up time, and data transfer duration, meaning the effective latency from a Cosmos DB change to availability in Synapse is always at least one minute. This fundamentally violates the sub-5-second real-time requirement, and ADF provides no built-in stream processing or windowed aggregation capability for this scenario.

  • ✓

    Use Azure Cosmos DB change feed to stream data to Azure Stream Analytics, which performs the aggregations and joins with reference data from Azure SQL Database.

    Why this is correct

    The Cosmos DB change feed emits each insert, update, and delete in real time, allowing Azure Stream Analytics to ingest the stream directly via the Cosmos DB connector. Stream Analytics can perform tumbling or hopping window aggregations and join the streaming events with reference data loaded from Azure SQL Database (using a reference input) at sub-second latency, making it the only option that satisfies both the 5-second SLA and the need for real-time joins against look-up data.

  • ✗

    Use Azure Databricks with Auto Loader to incrementally load data from Cosmos DB into Delta Lake, and then query with Spark SQL.

    Why it's wrong here

    Databricks Auto Loader is designed to incrementally discover and load new files from cloud object storage (such as ADLS or S3) into Delta Lake, not to consume a live change feed from Cosmos DB. To use it here, changes would first have to be exported to files, and then the Auto Loader batch intervals would add further delay; meanwhile, Databricks Spark Streaming with the Cosmos DB connector could work but Auto Loader itself is batch-oriented and cannot deliver the end-to-end 5-second latency requirement.

About these practice questions

Courseiva writes every AZ-305 question from scratch — 795 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. 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.