DP-900 Practice Question: Describe considerations for working with non-relational data on Azure
A company uses Azure Cosmos DB with the MongoDB API for a customer profile service. The service handles 10,000 writes per second and 50,000 reads per second. The data is 1 KB per document. The company needs to reduce read latency for frequently accessed customers and minimize RU consumption. Currently, the service reads the entire document for every request. They decide to implement a materialized view pattern using Azure Cosmos DB change feed and a separate container. Which additional step should they take to optimize read performance and cost?
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
✓
Create a materialized view container with a partition key optimized for the read queries.
A materialized view container with a partition key chosen to match the read query patterns allows the service to read precomputed, denormalized results from a single logical partition, reducing cross-partition fan-out and the number of RUs consumed per read. Since the source container handles 10,000 writes/sec and 50,000 reads/sec at 1 KB per document, offloading reads to a purpose-built view container also prevents read traffic from competing with write throughput on the source. Stored procedures (B) run server-side but still scan/aggregate source data on each read, so they do not reduce RU cost or latency for frequent reads. Increasing RU/s on the source container (C) only adds capacity and cost without changing the read pattern, and TTL (D) expires old data but does not optimize reads for frequently accessed customers.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Create a materialized view container with a partition key optimized for the read queries.
Why this is correct
A materialised view container partitioned on the read query's access pattern lets point reads target a single logical partition, cutting cross-partition fan-out and RU cost. This directly reduces read latency for frequently accessed customers while minimising RU consumption.
- ✗
Use stored procedures to aggregate data on read.
Why it's wrong here
Stored procedures execute server-side logic but still scan and return the same document data, consuming comparable RUs per read. It is tempting because server-side aggregation appears to cut network round trips, and it is correct when computation must run transactionally within a single partition.
- ✗
Increase the provisioned RU/s on the source container.
Why it's wrong here
Raising RU/s on the source container increases throughput ceiling and cost without shortening the read path or reducing RUs per request. It is tempting because throttling-induced latency genuinely responds to more provisioned throughput, making this correct when 429 errors, not document size, cause the slowdown.
- ✗
Enable Time-to-Live (TTL) on the source container to automatically expire old data.
Why it's wrong here
TTL deletes documents on an age schedule, which does not reduce RU cost per read nor latency for frequently accessed customers. It is tempting because TTL genuinely lowers storage and RU consumption by pruning stale data, making it correct when retention limits, not read patterns, drive the cost problem.
Go deeper
Related to this question
Learn chapter
Azure Synapse Link for Cosmos DB
Key term
View
A view is a saved query in a database that acts like a virtual table, letting you see specific data without storing it separately.
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
About these practice questions
One of 851 original DP-900 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 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.