Courseiva

CCNA Describe Considerations For Working With Non Relational Data On Azure Questions

24 of 174 questions · Page 3/3 · Describe Considerations For Working With Non Relational Data On Azure topic · Answers revealed

151
MCQhard

A global gaming company stores player profiles in Azure Cosmos DB. Each profile document contains PlayerID (unique), PlayerName, Email, and a nested array of Achievements. The most common query is to look up a player by PlayerID and retrieve their achievements. The company needs strong consistency for reads and writes to ensure that when a player earns an achievement, it is immediately visible. Which partition key and consistency level should they choose?

A.A. Partition key: PlayerID; Consistency: Eventual
B.B. Partition key: PlayerID; Consistency: Strong
C.C. Partition key: Achievements; Consistency: Strong
D.D. Partition key: Email; Consistency: Bounded staleness
AnswerB

PlayerID is an ideal partition key because it matches the application's point-lookup pattern: every read and write for a player can be routed to a single physical partition, avoiding cross-partition queries. Strong consistency in Azure Cosmos DB ensures that a write is acknowledged only after it is durably committed, and every subsequent read that uses the same partition key returns that committed value. This directly satisfies the requirement that profile updates be immediately and reliably visible. Note that strong consistency is supported only with single-region writes, which is an appropriate choice for this workload.

Why this answer

PlayerID is the natural partition key for the most common query (lookup by PlayerID), ensuring efficient single-partition queries. Strong consistency is required to guarantee that when a player earns an achievement, the write is immediately visible to all subsequent reads, which is critical for the gaming scenario.

Exam trap

The trap here is that candidates may confuse 'most common query' with 'partition key' and pick a non-query column (like Achievements or Email) or choose a weaker consistency level, not realizing that Strong consistency is required for immediate visibility and that PlayerID is the optimal partition key for the lookup pattern.

How to eliminate wrong answers

Option A is wrong because Eventual consistency does not guarantee immediate visibility of writes, which violates the requirement that achievements are immediately visible after earning. Option C is wrong because Achievements is a nested array, not a top-level property, and using it as a partition key would cause inefficient cross-partition queries and potential hot partitions. Option D is wrong because Email is not the primary query key (PlayerID is), and Bounded staleness, while stronger than Eventual, still allows a configurable lag, which does not meet the strict 'immediately visible' requirement.

152
MCQhard

Your application stores millions of small log entries in Azure Table Storage. Queries by partition key and row key are fast, but you also need to query by timestamp across partitions. The query performance is slow. What is the best way to improve query performance?

A.Migrate the data to Azure Cosmos DB and use the SQL API.
B.Use Azure Cognitive Search to index the Table Storage data.
C.Create a new table with the timestamp as the partition key and copy data there for time-based queries.
D.Add a secondary index on the timestamp column.
AnswerC

In Azure Table Storage, the only supported primary key is the pair of PartitionKey and RowKey, and queries that filter by PartitionKey are served directly without a full scan. By creating a new table with the timestamp as the PartitionKey and copying the data there, you make time-based queries use an equality comparison on PartitionKey (e.g., a specific date or hour) and optionally a range on RowKey, which is the most performant pattern. This is the correct answer because it applies the service's native indexing model without reintroducing scanning or paying for a separate service.

Why this answer

Azure Table Storage only supports a single clustered index on PartitionKey + RowKey, so queries filtering by timestamp across partitions force a full table scan. Creating a second table with timestamp as the partition key and duplicating the data allows efficient point/range queries against that key. This is the standard 'index table' or 'materialized view' pattern for Table Storage, since it lacks native secondary indexes.

Exam trap

DP-900 often tests the misconception that Azure Table Storage supports secondary indexes like a relational database; candidates pick 'add a secondary index' without realizing Table Storage only indexes PartitionKey and RowKey.

How to eliminate wrong answers

Option A is wrong because migrating to Cosmos DB SQL API is a major architectural change and overkill when a second table solves the query pattern; Cosmos DB also requires choosing a partition key and RU provisioning. Option B is wrong because Azure Cognitive Search is a full-text search service, not a solution for structured range queries on timestamps, and it adds cost/latency. Option D is wrong because Azure Table Storage does not support secondary indexes on arbitrary columns — only the PartitionKey/RowKey composite index exists.

153
MCQmedium

A media company stores large video files and associated metadata (title, duration, tags) as JSON documents. The application requires low-latency streaming of videos to users worldwide and the ability to quickly query metadata by tag. Which combination of Azure services should the company use?

A.Azure Blob Storage for videos and Azure Cosmos DB for metadata
B.Azure Blob Storage for both videos and metadata
C.Azure Cosmos DB for videos and Azure Table Storage for metadata
D.Azure Files for videos and Azure SQL Database for metadata
AnswerA

Azure Blob Storage is purpose-built for large unstructured binary data: it offers high-throughput write/read, configurable access tiers, and HTTPS-based access suitable for storing and delivering video files at scale. Azure Cosmos DB complements this by storing video metadata as flexible JSON documents, with automatic indexing and sub-millisecond point reads that support rich queries on tags, durations, and upload dates. This pairing keeps the media payload and its searchable catalog decoupled, so storage optimization and query performance are each handled by the most appropriate service.

Why this answer

Azure Blob Storage is optimized for storing large binary objects like video files, offering high-throughput streaming via HTTP/HTTPS and integration with CDN for low-latency global delivery. Azure Cosmos DB provides single-digit millisecond read and write latencies with automatic indexing, making it ideal for quickly querying JSON metadata by tag using SQL or MongoDB API. This combination separates storage concerns (blobs for raw video, document DB for structured metadata) to meet both streaming and query performance requirements.

Exam trap

The trap here is that candidates may assume a single service (like Blob Storage or Cosmos DB) can handle both data types, but the exam tests understanding that each Azure service has specific strengths—blobs for large binary objects and Cosmos DB for low-latency document queries—and that mixing them is the correct architectural pattern.

Why the other options are wrong

B

Azure Blob Storage is optimized for unstructured data like video files, but it lacks native querying capabilities for JSON metadata. Storing metadata in Blob Storage would require scanning all blobs or using external indexing, failing to meet the low-latency query requirement by tag.

C

Azure Cosmos DB is not optimized for storing large video files; it is a NoSQL database designed for low-latency queries on structured data. Using it for videos would be cost-inefficient and would not support streaming workloads as effectively as Blob Storage.

D

Azure Files is designed for file shares accessed via SMB protocol, not optimized for low-latency video streaming to users worldwide. Azure SQL Database is a relational database, which is not ideal for quickly querying JSON metadata by tag compared to a NoSQL solution like Cosmos DB.

154
MCQhard

A company uses Azure Databricks to process data stored in Azure Data Lake Storage Gen2. They need to enforce fine-grained access control on files and folders based on user identity. Which security feature should they implement?

A.Storage account firewall rules
B.Shared access signatures (SAS)
C.Access control lists (ACLs)
D.Azure RBAC roles on the storage account
AnswerC

Access control lists (ACLs) in Azure Data Lake Storage Gen2 provide fine-grained, POSIX-compliant permissions on every file and directory, exactly what is required to control data access within Azure Databricks. Each ACL entry associates a specific user, group, or the owning principal with a combination of read, write, and execute permissions on a specific object, enabling precise authorization separate from network or token-based mechanisms. Databricks clusters can leverage the cluster's managed identity or service principal to authenticate, and then ACLs govern which identities can traverse, list, read, or modify each folder and file down to the leaf level. This makes ACLs the correct choice for enforcing user-level data permissions on data stored in Azure Storage that Databricks processes.

Why this answer

Access control lists (ACLs) on Azure Data Lake Storage Gen2 provide POSIX-compliant, fine-grained permissions at the file and folder level. This allows you to grant read, write, or execute permissions to specific users or groups, which is exactly what is needed for enforcing identity-based access control on individual files and folders.

Exam trap

The trap here is that candidates often confuse Azure RBAC (which controls management-plane access) with ACLs (which control data-plane access at the file/folder level), leading them to select RBAC when fine-grained data access is required.

How to eliminate wrong answers

Option A is wrong because storage account firewall rules control network-level access (IP addresses or virtual networks), not user-identity-based permissions on files or folders. Option B is wrong because shared access signatures (SAS) grant time-limited, delegated access to storage resources via a token, but they do not enforce access based on the user's identity; the token itself is the credential. Option D is wrong because Azure RBAC roles on the storage account provide coarse-grained control over management operations (e.g., read keys, list containers) but cannot enforce fine-grained permissions on individual files or folders within a container.

155
Multi-Selecteasy

Which TWO of the following are features of Azure Cosmos DB that help ensure high availability?

Select 2 answers
A.Data encryption at rest
B.Change feed
C.Automatic failover
D.Point-in-time restore
E.Multi-region writes
AnswersC, E

Automatic failover is a core high-availability feature in Azure Cosmos DB that continuously monitors the health of regions and, if the primary region becomes unavailable, automatically redirects traffic to a secondary region without manual intervention. This ensures that the database remains accessible and can continue to serve read and write requests (depending on the consistency configuration) during an outage. It directly addresses the need for uptime and resilience, which makes it a correct answer for a high-availability question.

Why this answer

Automatic failover (C) is a core Cosmos DB high-availability feature: when a region becomes unavailable, Cosmos DB automatically promotes a secondary replica/region to primary without manual intervention, keeping the account writable and readable. Multi-region writes (E) enable every configured region to accept writes in an active-active configuration, so a workload can continue writing even if one region fails, and it also reduces write latency. Together these features directly address continuous availability and regional resilience.

Data encryption at rest (A) protects stored data confidentiality but does not provide availability during a regional outage. Change feed (B) is a mechanism for reading a continuous, ordered log of item changes for downstream processing, not for availability. Point-in-time restore (D) is a backup/recovery capability that restores data to an earlier state, which addresses data loss recovery rather than keeping the database available.

Exam trap

DP-900 often tests the confusion between availability features (failover, multi-region writes) and durability/security features (encryption, backup, change feed) — candidates who pick encryption or point-in-time restore mistake protection for uptime.

156
MCQmedium

A travel booking application stores user itineraries in Azure Cosmos DB using the NoSQL API. Each itinerary document contains: UserID (unique to user), ItineraryID, Destination, BookingDate, and a nested array of Activities. The most common query is: 'Retrieve all itineraries for a specific UserID sorted by BookingDate descending.' To minimize Request Unit (RU) consumption, which partition key should be chosen?

A.ItineraryID
B.UserID
C.Destination
D.BookingDate
AnswerB

UserID is the ideal partition key here because it is both the most common filter in the application's queries ("show me my itineraries") and a high-cardinality value that naturally distributes data across many logical partitions. All documents for a given user are co-located in a single logical partition, so queries for that user's itineraries are single-partition operations, consuming minimal RUs and returning quickly. This directly matches the access pattern and avoids the cross-partition overhead that the other options create.

Why this answer

UserID is the correct partition key because the most common query filters on UserID, ensuring that all itineraries for a specific user are stored in the same physical partition. This allows the query to target a single partition, minimizing cross-partition queries and reducing Request Unit (RU) consumption. A partition key that aligns with the primary query filter is essential for optimal performance and cost efficiency in Azure Cosmos DB.

Exam trap

The trap here is that candidates often choose a unique identifier like ItineraryID as the partition key, thinking it ensures even distribution, but they overlook that the query pattern (filtering by UserID) requires the partition key to match the filter to avoid expensive cross-partition queries.

How to eliminate wrong answers

Option A (ItineraryID) is wrong because ItineraryID is unique per document, leading to a high-cardinality partition key that distributes each itinerary across different partitions; queries for a specific UserID would then require a fan-out to all partitions, increasing RU consumption. Option C (Destination) is wrong because it does not directly align with the query filter on UserID, and multiple users may share the same destination, causing hot partitions and inefficient cross-partition queries. Option D (BookingDate) is wrong because it is a time-based attribute that can create hot partitions (e.g., all bookings on the same date) and does not support the primary query pattern of filtering by UserID, forcing cross-partition scans.

157
MCQmedium

A smart home company stores device telemetry in Azure Cosmos DB using the NoSQL API. Each document contains: deviceId (string), timestamp (datetime), temperature (float), humidity (float). The most common query retrieves all documents for a specific deviceId within a time range, ordered by timestamp descending. This query performs well. However, a new query that finds devices with temperature > 50 in the last hour (without specifying deviceId) is extremely slow and consumes many request units (RUs). What is the most likely cause?

A.The temperature field is not indexed by default, so the query forces a full scan of all documents.
B.The query does not specify the partition key (deviceId), causing a cross-partition query that scans every physical partition.
C.The time range filter on timestamp cannot be combined with the temperature filter efficiently.
D.The default indexing policy only indexes strings and numbers as range indexes, but temperature is stored as a number and is indexed.
AnswerB

The WHERE clause filters only on timestamp and temperature, not on deviceId—the container's partition key. To satisfy the query, Cosmos DB must issue the query to every physical partition and merge results, a pattern called a cross-partition query or fan-out, which consumes significantly more request units and has higher latency than a query scoped to a single partition key. Adding deviceId to the filter, or redesigning the model to avoid needing to scan all partitions, aligns the query with the partition-key distribution and reduces scanning.

Why this answer

In Azure Cosmos DB NoSQL API, the partition key (deviceId) determines data distribution across physical partitions. Queries that do not include the partition key in the filter become cross-partition queries, which must fan out to every physical partition, scanning all documents. This is extremely slow and consumes many RUs, especially in large containers.

The original query specifying deviceId performs well because it targets a single partition.

Exam trap

The trap here is that candidates assume the slowness is due to a missing index on temperature, but Azure Cosmos DB automatically indexes all fields by default, so the real issue is the cross-partition query caused by omitting the partition key.

How to eliminate wrong answers

Option A is wrong because all fields in Azure Cosmos DB are automatically indexed by default, including the temperature field, so a missing index is not the cause. Option C is wrong because Azure Cosmos DB can combine filters on timestamp and temperature efficiently using its indexing; the slowness is due to the missing partition key, not the combination of filters. Option D is wrong because the default indexing policy does index numbers as range indexes, so temperature is indeed indexed; this statement is factually incorrect.

158
MCQmedium

A media company needs to store millions of high-resolution photos for a public website. Each photo can be up to 50 MB. The storage solution must support secure access via URLs. Which Azure service should they use?

A.Azure Table Storage
B.Azure Blob Storage
C.Azure Files
D.Azure SQL Database
AnswerB

Azure Blob Storage is Microsoft's object storage solution optimized for massive volumes of unstructured binary data, perfect for high-resolution photos. Each block blob can hold up to 4.75 TB and you can store millions of blobs, each directly addressable via a unique HTTPS URL—making it trivial to serve images to browsers or mobile apps and integrate with Azure CDN for global scalability. It also offers tiered storage (hot, cool, archive) to balance cost and access frequency, which is essential for media companies.

Why this answer

Azure Blob Storage is the correct choice because it is designed for storing massive amounts of unstructured data, such as high-resolution photos, and supports objects up to 4.7 TB per blob, easily accommodating 50 MB files. It provides secure access via URLs using shared access signatures (SAS) or public access levels, making it ideal for a public website serving media content.

Exam trap

The trap here is that candidates often confuse Azure Files with Blob Storage because both can store files, but Azure Files uses SMB protocol for network file shares, not HTTP/HTTPS URL-based access for public web serving.

How to eliminate wrong answers

Option A is wrong because Azure Table Storage is a NoSQL key-value store for structured, non-relational data, not for large binary files like photos. Option C is wrong because Azure Files provides fully managed file shares using SMB protocol, designed for shared file access across VMs or on-premises, not for serving public web content via URLs. Option D is wrong because Azure SQL Database is a relational database service for structured data with schemas, not for storing large binary objects like photos, and it lacks native URL-based access for public distribution.

159
MCQeasy

You need to store JSON documents for a web application that requires low-latency reads and writes globally. The data has no fixed schema. Which Azure service should you use?

A.Azure Table Storage
B.Azure Blob Storage
C.Azure SQL Database
D.Azure Cosmos DB
AnswerD

Azure Cosmos DB is a globally distributed, multi-model database with single-digit-millisecond latency at any region and schema-agnostic JSON storage. Its core SQL API stores documents without a fixed schema, directly satisfying the low-latency global read and write requirement.

Why this answer

Azure Cosmos DB is a globally distributed, multi-model NoSQL database that natively stores JSON documents, offers single-digit millisecond latency at the 99th percentile, and supports turnkey global distribution across regions. It is schema-agnostic, making it ideal for web applications with evolving document structures.

Exam trap

DP-900 often tests the confusion between Blob/Table storage and Cosmos DB, expecting candidates to recognize that global low-latency JSON document workloads require Cosmos DB.

How to eliminate wrong answers

Option A is wrong because Azure Table Storage is a key-attribute store with limited querying, no global distribution guarantees, and is not designed for low-latency global JSON document workloads. Option B is wrong because Blob Storage is object storage for unstructured files, not a low-latency queryable document database. Option C is wrong because Azure SQL Database is a relational engine requiring a fixed schema and is not globally distributed with single-digit millisecond latency by default.

160
MCQeasy

You need to store a collection of JSON documents that contain user profile data. The data is frequently queried by user ID and by email address. The solution must support indexing on multiple fields and provide low-latency queries. Which Azure service should you use?

A.Azure Table Storage
B.Azure Cache for Redis
C.Azure Cosmos DB
D.Azure Blob Storage
AnswerC

Azure Cosmos DB is a globally distributed, multi-model database service with native support for JSON documents and automatic indexing of every property. Its index engine allows filtering, ordering, and joining on any field without pre-defining schemas or secondary indexes, ensuring low-latency queries even at scale. With tunable consistency levels and a SQL API, it is the ideal choice for a collection of JSON documents that require flexible querying and indexing on multiple fields.

Why this answer

Azure Cosmos DB is a NoSQL database that supports indexing on multiple fields and provides low-latency queries on JSON documents. Option A is wrong because Azure Table Storage is a key-value store with limited indexing (only on partition key and row key). Option B is wrong because Azure Cache for Redis is an in-memory cache, not a durable indexed store.

Option D is wrong because Azure Blob Storage stores unstructured blobs and does not support indexing on document fields.

161
MCQeasy

A medical imaging company stores high-resolution MRI scans in Azure Blob Storage. The scans are accessed frequently for the first 6 months after being generated, then rarely after that, but must be available immediately when accessed for comparisons. The company wants to minimize storage costs. Which Azure Blob Storage access tier should they use for scans older than 6 months?

A.Hot access tier
B.Cool access tier
C.Archive access tier
D.Premium access tier
AnswerB

Because older MRI scans are rarely accessed but must be instantly retrievable during follow-ups or legal review, the Cool tier is the optimal trade-off. Cool charges lower per-gigabyte storage fees than Hot while preserving zero-latency reads, so you avoid the high cost of Hot without accepting the multi-hour rehydration delay of Archive. This matches the requirement to minimize cost while maintaining immediate availability.

Why this answer

The Cool access tier is ideal for data that is infrequently accessed but must be available immediately when needed. It offers lower storage costs than the Hot tier while maintaining low-latency retrieval, matching the requirement for scans older than 6 months that are rarely accessed but require instant availability.

Exam trap

The trap here is that candidates often confuse 'rarely accessed' with 'Archive tier,' forgetting that Archive requires hours of rehydration time, which fails the 'available immediately' constraint in the question.

Why the other options are wrong

A

The Hot tier is designed for data accessed frequently, but the question states that scans older than 6 months are rarely accessed. Using Hot would incur higher storage costs without benefit, as Cool tier provides lower cost for infrequently accessed data with immediate availability.

C

The Archive tier has the lowest storage cost but requires hours to rehydrate data before access, violating the requirement that scans must be available immediately when accessed.

D

The Premium access tier is designed for low-latency, high-performance scenarios with frequent access, not for minimizing costs on rarely accessed data. It has higher storage costs than Cool or Archive tiers, making it unsuitable for scans older than 6 months that are rarely accessed.

162
MCQmedium

A mobile app stores user preferences in Azure Cosmos DB using the NoSQL API. The app frequently reads a single user's profile by user ID (the partition key). The development team wants the fastest possible read performance globally and is willing to accept that reads might not reflect the latest write immediately. Which consistency level should they choose to minimize read latency?

A.Strong
B.Bounded staleness
C.Session
D.Eventual
AnswerD

Eventual consistency is the default in Cosmos DB for multi-region writes and offers the lowest latency and highest availability because replicas converge asynchronously without waiting for quorum. For mobile user preferences, the profile is typically read frequently and written occasionally; if a user updates a preference and reads it a moment later, eventual might show the old value briefly, but it will converge quickly. Because user preferences are non-critical and tolerate a brief stale read, eventual provides the optimal balance of performance and cost, making it the correct choice.

Why this answer

Eventual consistency offers the lowest read latency because it allows reads to return data from any replica without waiting for confirmation that the write has been fully replicated. Since the app can tolerate stale reads (i.e., not reflecting the latest write immediately), Eventual consistency eliminates the synchronization overhead required by stronger models, making it the fastest choice for global read performance.

Exam trap

The trap here is that candidates often confuse 'fastest read performance' with 'strongest consistency' and choose Strong or Bounded staleness, not realizing that the question explicitly allows stale reads, making Eventual the optimal choice for minimizing latency.

How to eliminate wrong answers

Option A is wrong because Strong consistency requires all replicas to acknowledge the write before the read is served, which introduces significant latency, especially across global regions. Option B is wrong because Bounded staleness still enforces a maximum lag (time or operations) before reads must reflect the latest write, adding coordination overhead that increases latency compared to Eventual. Option C is wrong because Session consistency guarantees monotonic reads and writes within a single client session, which requires session context tracking and can still introduce latency beyond the minimal possible with Eventual.

163
MCQeasy

You need to store event data from multiple sources in a schema-less format for later analysis. The data arrives as JSON and must be durable and highly available. Which Azure service should you use?

A.Azure Blob Storage
B.Azure SQL Database
C.Azure Event Hubs
D.Azure Data Factory
AnswerA

Azure Blob Storage is the correct option because it is a durable, massively scalable object storage service that can hold event data from any number of sources in its native format, such as JSON, Avro, or CSV, without requiring a predefined schema. It supports schema-on-read, meaning the structure can be inferred or defined later during analysis, and it integrates with Azure Data Lake Gen2 for big data workloads. Storing raw events in Blob Storage also preserves them for long-term retention, auditing, and reprocessing, which is exactly what this scenario requires.

Why this answer

Azure Blob Storage is the correct choice because it natively stores unstructured and schema-less data such as JSON at massive scale, with built-in durability (LRS/GRS/ZRS) and high availability. It is designed for exactly this scenario: ingesting event data from multiple sources in raw format for later analytics via tools like Azure Synapse or Databricks. Blob Storage does not impose a schema, making it ideal for JSON payloads that may vary between sources.

Exam trap

DP-900 often tests the confusion between ingestion services (Event Hubs, IoT Hub) and storage services (Blob Storage) — candidates mistakenly pick Event Hubs because it 'handles events,' but it does not provide durable long-term storage.

How to eliminate wrong answers

Option B is wrong because Azure SQL Database is a relational engine that requires a defined schema and is not suited for schema-less JSON event storage at scale. Option C is wrong because Azure Event Hubs is an ingestion and streaming service, not a durable storage layer — it retains events for a limited time (default 1 day, max 90 days) and is meant to feed consumers, not serve as the system of record. Option D is wrong because Azure Data Factory is an orchestration and data movement service, not a storage service — it cannot itself store the event data.

164
MCQmedium

A ride-sharing application needs to store real-time GPS location updates from drivers and passengers. The data is ingested as key-value pairs where the key is the user ID and the value is a timestamped location. The application requires low-latency reads and writes for millions of concurrent users, and the data model is simple with no need for complex queries or joins. Which Azure NoSQL database API should be used for this workload?

A.Azure Cosmos DB Table API
B.Azure Cosmos DB SQL (Core) API
C.Azure Cosmos DB for MongoDB API
D.Azure Cosmos DB for Apache Gremlin API
AnswerA

The Table API is designed for key-value storage with simple queries by partition key and row key, providing low-latency access at global scale. It is ideal for this type of high-throughput, simple data access pattern.

Why this answer

Azure Cosmos DB Table API is the correct choice because it provides a key-value store with low-latency reads and writes, ideal for high-throughput scenarios like real-time GPS updates. It supports a simple schema-less data model where each item is a key-value pair, and it offers single-millisecond latency at the 99th percentile for both reads and writes, meeting the requirement for millions of concurrent users without complex queries or joins.

Exam trap

The trap here is that candidates often choose the SQL (Core) API because it is the most versatile and well-known, but they overlook that the Table API is specifically optimized for simple key-value workloads with lower latency and cost, as it avoids the overhead of document parsing and indexing for complex queries.

Why the other options are wrong

B

The SQL (Core) API supports complex queries and schema flexibility, but the question specifies a simple key-value data model with no need for complex queries or joins, making the Table API more appropriate due to its simpler key-value interface and lower overhead.

C

The MongoDB API is designed for document-oriented workloads with flexible schemas and complex queries, but the question specifies a simple key-value data model with no need for complex queries or joins. The Table API is more appropriate for such key-value scenarios.

D

The Gremlin API is designed for graph databases to model complex relationships, but this scenario only requires simple key-value storage with no graph traversals or relationships.

165
MCQhard

A gaming application requires a high-performance leaderboard that stores player scores and retrieves the top 10 scores quickly. The data does not require complex queries or a fixed schema. The leaderboard must support updates as new scores are submitted. Which Azure data store is most appropriate for this scenario?

A.Azure Cosmos DB with SQL API
B.Azure Table storage
C.Azure Cache for Redis
D.Azure Blob Storage
AnswerC

Azure Cache for Redis is the correct choice because Redis natively supports sorted sets, a data structure perfect for leaderboards. Commands like ZADD and ZINCRBY update scores in O(log N) time, and ZREVRANGE retrieves the top scores in O(log N+M), all while data is held in RAM for sub-millisecond latency. This purpose-built in-memory design handles thousands of concurrent player updates and queries per second, making it the standard solution for real-time gaming leaderboards. Although Redis persistence is optional and typically not the primary concern, it can be configured to maintain data across restarts if needed.

Why this answer

Azure Cache for Redis is the most appropriate choice because it provides an in-memory data structure store with native support for sorted sets (via the ZADD and ZRANGE commands), which are ideal for maintaining a real-time leaderboard. It can handle high-throughput score updates and retrieve the top 10 scores in O(log(N)) time, meeting the low-latency and performance requirements without needing a fixed schema.

Exam trap

The trap here is that candidates often choose Azure Cosmos DB (Option A) because they associate it with high performance and NoSQL, but they overlook that Azure Cache for Redis is purpose-built for in-memory, sub-millisecond operations like sorted sets, which are exactly what a leaderboard requires.

How to eliminate wrong answers

Option A is wrong because Azure Cosmos DB with SQL API, while fast, is a fully managed NoSQL database that incurs higher latency and cost for simple leaderboard operations compared to an in-memory cache, and it requires provisioning throughput (RU/s) even for simple sorted set operations. Option B is wrong because Azure Table storage is a key-value store that does not support sorted sets or built-in ranking operations; retrieving the top 10 scores would require scanning all entities and sorting client-side, which is inefficient and slow. Option D is wrong because Azure Blob Storage is designed for unstructured large object storage (blobs) and does not support atomic score updates or real-time querying of individual scores; it would require downloading and rewriting entire files for each update, making it unsuitable for a high-performance leaderboard.

166
MCQmedium

A company stores large video files in Azure Blob Storage. The files are accessed frequently for the first 30 days after upload, then rarely for the next 180 days, and after that they are only needed for compliance but never accessed. The company wants to minimize storage costs while ensuring the files remain durable and accessible. Which strategy should they implement?

A.Store all files in the Cool access tier and apply lifecycle management to move files to the Archive tier after 30 days.
B.Store files initially in the Hot tier, then use lifecycle management to move files to Cool after 30 days and to Archive after 210 days.
C.Store files in the Archive tier from the beginning to maximize cost savings.
D.Store files in the Premium tier for fast access, then manually delete files after 30 days.
AnswerB

The Hot tier optimizes the initial 30 days when end users actively upload and retrieve video files; its storage cost is higher but it has no retrieval penalty, making frequent data movement inexpensive. A lifecycle management policy then automatically transitions each blob to Cool after 30 days because Cool reduces storage charges for the 180-day period of rare access, despite a small per-GB retrieval cost. After 210 days, the policy moves the blob to Archive, which provides the lowest storage cost for the compliance period when files are never accessed but must be retained. This staged approach exactly aligns costs with the actual access pattern while avoiding manual intervention and the risk of premature transitions.

Why this answer

It aligns the access patterns with the appropriate Azure Blob Storage access tiers: Hot for frequent initial access, Cool for reduced-cost infrequent access after 30 days, and Archive for the lowest-cost long-term retention after 210 days. Azure lifecycle management policies automate these transitions, ensuring durability and accessibility while minimizing costs.

Exam trap

The trap here is that candidates often assume the Cool tier is the cheapest option for long-term storage, overlooking the Archive tier's significantly lower cost for compliance data that is never accessed, and they may also forget that lifecycle management can automate multiple tier transitions over time.

How to eliminate wrong answers

Option A is wrong because storing files in the Cool tier from the start incurs higher early-access costs and a 30-day early deletion penalty, and moving to Archive after only 30 days ignores the 180-day period of rare access where Cool is more cost-effective than Archive. Option C is wrong because storing files in the Archive tier from the beginning makes them inaccessible for immediate frequent access (Archive requires rehydration, which can take hours) and violates the requirement for frequent access in the first 30 days. Option D is wrong because the Premium tier is designed for low-latency, high-transaction workloads (e.g., Azure Virtual Desktop) and is significantly more expensive than Hot or Cool; manually deleting files after 30 days loses the 180-day rare-access period and incurs unnecessary costs.

167
MCQmedium

Refer to the exhibit. An administrator creates a storage account with the Hot tier and then creates a container with the Cool tier. Data is uploaded to the container. Which access tier applies to the uploaded blobs by default?

A.Hot, because the storage account tier is Hot.
B.No tier; blobs are not charged until accessed.
C.Archive, because no tier is set.
D.Cool, because the container's default tier is Cool.
AnswerD

When a blob is uploaded without an explicit access tier, Azure applies the default access tier of its parent container. Here the container's default tier is Cool, so the blob inherits Cool regardless of the storage account's own tier setting. This inheritance ensures consistent billing for all blobs in the container that do not have a per-blob tier override. The blob's effective tier is Cool, making this answer correct.

Why this answer

When a container is created with a default access tier, that tier is inherited by any blob uploaded into the container unless the blob explicitly specifies a different tier at upload time. Since the container was created with the Cool tier, uploaded blobs default to Cool regardless of the storage account's Hot default. The account-level tier only serves as the default for containers that do not specify their own tier.

Exam trap

DP-900 often tests the misconception that the storage account tier always dictates blob tiering, when in fact container-level defaults override the account default for newly uploaded blobs.

How to eliminate wrong answers

Option A is wrong because the storage account's Hot tier is only the default for containers created without an explicit tier — a container-level tier overrides it for blobs uploaded into that container. Option B is wrong because every block blob in a general-purpose v2 or Blob Storage account always resides in an access tier (Hot, Cool, Cold, or Archive); there is no 'no tier' state, and billing is based on the tier plus capacity/operations. Option C is wrong because Archive is never applied implicitly — it must be explicitly set on the blob or via lifecycle management policy, and it would make blobs inaccessible without rehydration.

168
MCQhard

A company stores customer data in Azure Table Storage. They need to query by a combination of partition key (customer region) and row key (customer ID). Which query pattern is most efficient?

A.Query using RowKey only
B.Scan all entities
C.Query using both PartitionKey and RowKey
D.Query using PartitionKey only
AnswerC

Querying with both PartitionKey and RowKey forms a point query that uniquely identifies a single entity, since their combination is the primary key of the table. The PartitionKey narrows the search to a specific partition, and the RowKey directly locates the entity within that partition's index. This is the most efficient, lowest-latency, and least costly operation Azure Table Storage supports for data retrieval.

Why this answer

In Azure Table Storage, the most efficient query specifies both PartitionKey and RowKey because it targets a single entity directly. The PartitionKey determines the partition, and the RowKey uniquely identifies the entity within that partition. This point query is the fastest and most cost-effective, as it avoids scanning multiple partitions or entities.

Exam trap

The trap is thinking that PartitionKey alone is sufficient for efficiency, but the exam expects recognition that both keys are needed for the fastest point query.

How to eliminate wrong answers

Option A is wrong because querying by RowKey only requires a full table scan across all partitions, which is inefficient and slow. Option B is wrong because scanning all entities is the least efficient and most expensive operation. Option D is wrong because querying by PartitionKey only retrieves all entities in that partition, which may be many, and requires further filtering, making it less efficient than specifying both keys.

169
MCQmedium

A global social media platform allows users to like posts. The platform is designed to prioritize availability and partition tolerance over strong consistency across its globally distributed Azure Cosmos DB instance. When a user likes a post, the like count may not be immediately visible to all users, but it will eventually become consistent across all regions. Which consistency model does this application follow?

A.Strong consistency
B.Bounded staleness consistency
C.Session consistency
D.Eventual consistency
AnswerD

Eventual consistency is the weakest consistency level, prioritizing availability and low latency. It guarantees that if no new writes are made, all replicas will converge to the same state over time. This aligns with the platform's design goals.

Why this answer

Eventual consistency is the correct choice because the platform prioritizes availability and partition tolerance (AP from the CAP theorem) over strong consistency. In Azure Cosmos DB, eventual consistency guarantees that all replicas will converge to the same value over time without any ordering guarantees, which matches the scenario where like counts are not immediately visible but become consistent eventually.

Exam trap

The trap here is that candidates often confuse 'eventual consistency' with 'session consistency' because both involve delays, but session consistency is scoped to a single client session and provides stronger guarantees like monotonic reads, whereas eventual consistency has no such session-level guarantees and is the weakest model in Cosmos DB.

Why the other options are wrong

A

Strong consistency ensures that all reads reflect the most recent write, which contradicts the requirement for high availability and partition tolerance with eventual visibility of likes across regions.

B

Bounded staleness guarantees that reads lag behind writes by at most a fixed number of versions or time interval, but the question explicitly states 'eventually become consistent' with no bounded lag, which is the definition of eventual consistency.

C

Session consistency provides monotonic reads, writes, and read-your-writes guarantees within a single client session, but the question describes a scenario where consistency is relaxed across all users globally, not just within a session. The platform prioritizes availability and partition tolerance over strong consistency, which aligns with eventual consistency, not session consistency.

170
MCQmedium

A media company stores video metadata in Azure Table Storage. Each video has a unique VideoID, and the application frequently queries for videos uploaded on a specific date. The current table uses PartitionKey = VideoID and RowKey = UploadDate. Queries filtering by UploadDate are slow and consume many transactions. Which design change will most optimize queries that retrieve all videos from a given date?

A.A. Use UploadDate as the RowKey only, but keep PartitionKey as VideoID.
B.B. Create a secondary index on UploadDate.
C.C. Change the PartitionKey to a date-based value (e.g., YYYY-MM-DD) and use VideoID as the RowKey.
D.D. Migrate the data to Azure Cosmos DB Table API for better indexing.
AnswerC

By using a date as the PartitionKey, all videos uploaded on the same date are stored in the same partition. A query filtering by date can then fetch all rows from that single partition using the PartitionKey, which is extremely fast and cost-efficient.

Why this answer

Azure Table Storage queries are most efficient when the PartitionKey is used as the primary filter. By changing the PartitionKey to a date-based value (e.g., YYYY-MM-DD), queries for all videos uploaded on a specific date become partition scans, which are fast and consume minimal transactions. Using VideoID as the RowKey still allows unique identification of each video within that date partition.

Exam trap

The trap here is that candidates often assume secondary indexes (like in SQL databases) exist in Azure Table Storage, or they think changing RowKey alone is sufficient, failing to realize that PartitionKey is the only partition-level filter and must align with the query pattern.

How to eliminate wrong answers

Option A is wrong because keeping PartitionKey as VideoID and only using UploadDate as RowKey does not help; queries filtering by UploadDate would still require a full table scan since the PartitionKey is not used in the filter. Option B is wrong because Azure Table Storage does not support secondary indexes; it only provides a single index on (PartitionKey, RowKey). Option D is wrong because migrating to Azure Cosmos DB Table API would not inherently optimize the query; the same partition key design issue would persist, and the cost and complexity of migration are unnecessary when a simple schema redesign solves the problem.

171
MCQmedium

A healthcare application stores patient medical records as JSON documents. Each document contains a variable set of fields depending on the patient's conditions. The application needs to query records by any field and support high write throughput. Which Azure data store is most appropriate?

A.Azure Blob Storage
B.Azure Synapse Analytics
C.Azure Cosmos DB with SQL API
D.Azure Table Storage
AnswerC

Azure Cosmos DB with the SQL API is the correct choice because it is a schema-agnostic document database that natively stores JSON, automatically indexes every property for efficient point reads and SQL-style queries, and scales horizontally with guaranteed single-digit-millisecond latency and throughput managed in request units. Unlike relational databases, it does not require a fixed schema and is designed for high write and read throughput on document workloads. The SQL API also supports rich queries over nested JSON fields, making it ideal for patient records with varying structures that require fast, interactive access.

Why this answer

Azure Cosmos DB with SQL API is the most appropriate choice because it natively supports storing and querying JSON documents with variable schemas, enabling efficient queries on any field. Its multi-model architecture and configurable indexing policies allow high write throughput while maintaining low-latency queries, which is critical for healthcare applications with dynamic patient records.

Exam trap

The trap here is that candidates often confuse Azure Table Storage's key-value capabilities with JSON document support, but Table Storage does not allow querying on arbitrary fields within a JSON document—it only supports queries on the partition key and row key, making it unsuitable for variable-schema medical records.

Why the other options are wrong

A

Azure Blob Storage is optimized for storing large unstructured binary data (like images or backups), not for querying individual fields within JSON documents with high write throughput and flexible schema.

B

Azure Synapse Analytics is a data warehouse and analytics service designed for large-scale, structured data processing and complex queries, not for high-throughput, low-latency operations on semi-structured JSON documents with variable fields.

D

Azure Table Storage is a NoSQL key-value store that does not support querying by arbitrary fields or indexing on multiple properties, making it unsuitable for querying JSON documents by any field. It also lacks native JSON support and flexible schema capabilities required for variable-field documents.

172
MCQmedium

A mobile game company stores player scores in Azure Cosmos DB. Each document contains the fields PlayerID (unique to the player), GameID, Score, and Timestamp. The most common query is: 'Retrieve all scores for a specific GameID, ordered by Score descending.' Which property should be chosen as the partition key to minimize Request Unit (RU) consumption?

A.PlayerID
B.GameID
C.Score
D.Timestamp
AnswerB

GameID is the filter in the dominant query, so it is the natural partition key. Cosmos DB places all items with the same GameID in the same logical partition, allowing a query such as 'SELECT * FROM scores s WHERE s.GameID = @gameId' to target a single partition and complete efficiently. Provided the number of games is large enough to avoid a single game exceeding the 10 GB logical partition limit, GameID gives good distribution and aligns perfectly with the workload.

Why this answer

GameID is the correct partition key because the most common query filters on GameID, and using it as the partition key ensures that all documents for a given GameID are stored in the same physical partition. This allows the query to target a single partition, minimizing cross-partition fan-out and reducing Request Unit (RU) consumption. A partition key that matches the query filter is essential for efficient, low-latency reads in Azure Cosmos DB.

Exam trap

The trap here is that candidates often choose PlayerID because it is unique and seems like a natural key, but they overlook that a partition key must align with the most common query filter to avoid cross-partition queries and high RU costs.

How to eliminate wrong answers

Option A (PlayerID) is wrong because PlayerID is unique per player, so each partition would contain only one document, causing every query to fan out across all partitions and consume high RUs. Option C (Score) is wrong because Score is a high-cardinality, frequently changing value, which would lead to hot partitions and inefficient range queries; it also does not align with the query filter on GameID. Option D (Timestamp) is wrong because Timestamp is a monotonically increasing value that would create hot partitions (all writes to the latest partition) and does not group data by GameID, forcing cross-partition queries.

173
Drag & Dropmedium

Drag and drop the steps to configure a geo-replication for Azure Cosmos DB in the correct order.

Drag or tap steps into the slots.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4

Why this order

Geo-replication is configured by selecting regions and enabling multi-region writes if needed, then saving to initiate replication.

174
MCQhard

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?

A.Create a materialized view container with a partition key optimized for the read queries.
B.Use stored procedures to aggregate data on read.
C.Increase the provisioned RU/s on the source container.
D.Enable Time-to-Live (TTL) on the source container to automatically expire old data.
AnswerA

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.

Why this answer

Option A is correct because 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.

← PreviousPage 3 of 3 · 174 questions total

Ready to test yourself?

Try a timed practice session using only Describe Considerations For Working With Non Relational Data On Azure questions.