Courseiva
Describe an analytics workload on AzurehardMultiple ChoiceObjective-mapped

DP-900 Describe an analytics workload on Azure Practice Question

A company uses Azure Stream Analytics to process IoT data from thousands of devices. The output is written to Azure SQL Database for reporting. Recently, the job latency increased significantly. The company suspects that the SQL Database is throttling writes. Which action should the company take to reduce latency?

⚠ Common exam trap

It's easy for candidates to assume increasing compute resources (Streaming Units) or batch sizes will fix any performance issue, but the real bottleneck is the output sink's write throttling, which requires a decoupled architecture like Cosmos DB with change feed.

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

Switch the output to Azure Cosmos DB with sufficient RU/s and use change feed to sync to SQL Database.

The latency is caused by Azure SQL Database throttling writes due to its row-based storage and limited write throughput. By switching the output to Azure Cosmos DB with sufficient Request Units per second (RU/s), the Stream Analytics job can write at high speed without throttling, and the change feed can then asynchronously sync data to Azure SQL Database for reporting, decoupling the write bottleneck.

Answer analysis

Option-by-option breakdown

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

  • Change the input serialization from JSON to Avro.

    Why it's wrong here

    Changing the input serialization from JSON to Avro alters how incoming data is parsed in the Stream Analytics query, not how results are written to the output sink. Avro is a compact binary format that can reduce CPU overhead during deserialization, but it has no effect on the write throughput or throttling behavior of Azure SQL Database. The bottleneck is the output side, so this change cannot mitigate SQL write throttling.

  • Switch the output to Azure Cosmos DB with sufficient RU/s and use change feed to sync to SQL Database.

    Why this is correct

    Switching the output to Azure Cosmos DB provisioned with sufficient Request Units per second (RU/s) gives Stream Analytics a high-throughput write target that can absorb peak ingestion rates without throttling. You then use the Cosmos DB change feed to asynchronously replicate inserts and updates to Azure SQL Database, which decouples the real-time hot path from the slower transactional sink. This solves the throttling problem because SQL Database no longer receives the full write stream directly, while the change feed provides an eventually consistent sync mechanism.

  • Increase the batch size of writes to Azure SQL Database.

    Why it's wrong here

    Increasing the batch size of writes to Azure SQL Database can improve efficiency only up to a narrow optimum; beyond that, larger batches intensify lock contention, inflate transaction log growth, and often trigger deadlocks or throttling from the database's resource limits. The throttling you are experiencing is caused by the SQL Database's maximum write throughput (DTU/vCore or IOPS), not by insufficient batch size. Adjusting batch size alone cannot raise that hard capacity ceiling, so this change does not resolve the core issue.

  • Increase the number of Streaming Units for the Stream Analytics job.

    Why it's wrong here

    Increasing the number of Streaming Units (SUs) for the Stream Analytics job allocates more compute to the streaming query, such as partitioning and stateful operations, but it does nothing to increase the write capacity of the output sink. If Azure SQL Database is already throttling the incoming writes, the extra SUs will just queue or drop data at the output connector because the database cannot ingest faster. The limiting factor is the output database's throughput, so adding SU cannot overcome output-side throttling.

About these practice questions

Courseiva writes every DP-900 question from scratch — 820 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 DP-900 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 DP-900 exam.