Courseiva

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

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

76
MCQmedium

A mobile game company stores player profiles and game state in Azure Cosmos DB. Each document contains playerId, level, score, inventory (an array of items), and lastLogin. The application requires fast point reads by playerId, queries to find all players within a specific score range, and global distribution with multi-region writes for low latency worldwide. They also want to use a familiar SQL-like query language. Which Azure Cosmos DB API should they choose?

A.Core (SQL) API
B.MongoDB API
C.Cassandra API
D.Gremlin API
AnswerA

The Core (SQL) API supports SQL-like queries, point reads by playerId, range queries on score, and multi-region writes with global distribution. It satisfies every constraint in the stem, unlike the API-specific alternatives that lack SQL querying or multi-region write support.

Why this answer

The Core (SQL) API is the correct choice because it provides native support for SQL-like queries, enabling the required point reads by playerId and range queries on score. It also offers multi-region writes for global distribution with low latency, which aligns with the application's need for worldwide player access. The document model with arrays (inventory) is directly supported, making it ideal for storing player profiles and game state.

Exam trap

The trap here is that candidates often confuse the MongoDB API's use of a familiar query language (MongoDB's own) with SQL-like syntax, or assume that any NoSQL API can handle range queries equally, but the Core (SQL) API is the only one that provides native SQL-like querying with automatic indexing for such patterns.

Why the other options are wrong

B

The MongoDB API does not support multi-region writes with a SQL-like query language; it uses MongoDB's query syntax. The question requires SQL-like queries and global distribution with multi-region writes, which the Core (SQL) API provides natively.

C

The Cassandra API does not support SQL-like queries or multi-region writes with low latency; it uses CQL (Cassandra Query Language) and is optimized for high-throughput writes but not for global distribution with multi-region writes.

D

The Gremlin API is designed for graph databases and querying relationships between entities, not for document-based queries like point reads by playerId or score range queries. It does not support SQL-like query language.

77
MCQmedium

A logistics company tracks shipment locations using GPS devices that send JSON data with fields: shipmentId, latitude, longitude, timestamp, speed. The data is stored in Azure Cosmos DB using the Core (SQL) API. The application needs to query all shipments that are currently within a specific geographic bounding box and have a speed greater than 0. Which query approach should they use to efficiently retrieve the data?

A.Use a BETWEEN clause on latitude and longitude and a WHERE clause for speed.
B.Use ST_WITHIN to specify the bounding box polygon and add a WHERE clause for speed.
C.Use ST_DISTANCE to measure distance from a center point and also filter on speed.
D.Use the IN operator to list all acceptable coordinate pairs and a speed filter.
AnswerB

ST_WITHIN is the correct geospatial operator here because it accepts a GeoJSON Polygon representing the bounding box and uses Cosmos DB's spatial index to efficiently find all location points contained inside it. Adding a separate WHERE clause on the speed field is a non-spatial predicate that is applied after the spatial index seek narrows the result set, which minimizes request units (RUs) and latency.

Why this answer

Azure Cosmos DB's Core (SQL) API supports geospatial queries using the ST_WITHIN function, which efficiently checks if a point (latitude/longitude) lies inside a polygon (bounding box). Adding a WHERE clause for speed > 0 further filters the results, and Cosmos DB can leverage a composite index on the geospatial field and speed to optimize query performance.

Exam trap

The trap here is that candidates often assume simple range filters (BETWEEN) are sufficient for geospatial queries, overlooking that Cosmos DB requires dedicated spatial functions (ST_WITHIN, ST_DISTANCE) to utilize its spatial index and achieve efficient bounding box queries.

Why the other options are wrong

A

Cosmos DB's SQL API does not support BETWEEN for geospatial queries; it requires geospatial functions like ST_WITHIN to filter by bounding box.

C

ST_DISTANCE measures distance from a center point, which is inefficient for bounding box queries and may return shipments outside the box but within the radius, not matching the requirement for a specific bounding box.

D

The IN operator is used to match a field against a list of discrete values, not for spatial bounding box queries. It cannot efficiently filter coordinates within a geographic area.

78
MCQmedium

A social media company stores user posts in Azure Cosmos DB. Posts are frequently queried by user ID and creation timestamp. To minimize Request Units (RU) per query, which property should be chosen as the partition key?

A.User ID
B.Timestamp
C.Post content
D.A composite key of user ID and timestamp
AnswerA

User ID is the optimal partition key because it is a high-cardinality attribute that appears in nearly every query for a social media application, such as 'retrieve all posts by a user' or 'find posts by a user within a date range'. It distributes documents evenly across logical partitions to avoid hot partitions, and because each physical partition can store up to 20GB, even high-volume users' posts are typically collocated for efficient range reads with minimal routing cost. A well-chosen partition key like User ID ensures that point reads and queries scoped to a single partition consume fewer RUs and avoid cross-partition fan-out.

Why this answer

User ID is the correct partition key because it evenly distributes writes and reads across physical partitions, ensuring that queries filtering by user ID and timestamp are scoped to a single partition. This minimizes cross-partition queries, which consume more Request Units (RU) than single-partition queries. Azure Cosmos DB routes each query to the partition containing the matching partition key value, so choosing User ID keeps most queries efficient.

Exam trap

The trap here is that candidates often choose a composite key (Option D) thinking it improves query efficiency, but they overlook that Azure Cosmos DB requires the partition key to be a single property in the filter for single-partition queries, and a composite key would not be used as a single partition key unless explicitly defined as such in the container.

How to eliminate wrong answers

Option B (Timestamp) is wrong because using timestamp as the partition key would cause hot partitions—all posts created at the same time would land on the same physical partition, leading to throttling and uneven RU consumption. Option C (Post content) is wrong because post content is not a query filter and would result in unpredictable, non-uniform data distribution, causing cross-partition scans for every query. Option D (A composite key of user ID and timestamp) is wrong because while it might seem logical, it would force every query to include both values in the filter to target a single partition; queries filtering only by user ID would become cross-partition, increasing RU cost.

79
Multi-Selecthard

Which THREE of the following are valid considerations when choosing between Azure Cosmos DB and Azure Table Storage?

Select 3 answers
A.Table Storage supports multi-region writes
B.Cosmos DB provides multiple consistency levels
C.Cosmos DB supports multi-region writes
D.Cosmos DB does not support JSON documents
E.Cosmos DB automatically indexes all properties
AnswersB, C, E

Cosmos DB offers five well-defined consistency levels, from strong to eventual, letting architects tune the latency-versus-consistency trade-off per workload. Table Storage provides only strong consistency within a partition, so this difference is a genuine selection consideration between the two services.

Why this answer

Option B is correct because Azure Cosmos DB exposes five well-defined consistency levels (strong, bounded staleness, session, consistent prefix, and eventual), letting you trade off latency and consistency per workload, whereas Azure Table Storage offers only strong consistency within a region. Option C is correct because Cosmos DB supports multi-region writes (multi-master) across its configured regions, allowing writes to any region and automatic conflict resolution, which is a key differentiator from Table Storage. Option E is correct because Cosmos DB automatically indexes every property in a document by default (with an indexing policy you can tune), so no manual index management is needed, unlike Table Storage where you must design and maintain partition/row key indexes yourself.

Option A is not correct because Azure Table Storage is single-region for writes; it supports read-access geo-redundant storage (RA-GRS) for read-only replicas, not multi-region writes. Option D is not correct because Cosmos DB's SQL (Core) API stores data as JSON documents, and it also offers APIs for other models, so it fully supports JSON.

80
MCQeasy

A retail company wants to store product catalog data in a non-relational format. The data includes product ID, name, description, price, and an array of tags. The data is frequently updated and must support low-latency reads and writes at global scale. Which Azure service should they use?

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

Azure Cosmos DB is a globally distributed, multi-model NoSQL database service that stores data as schema-agnostic JSON documents, making it a natural fit for a product catalog. It provides turnkey global distribution across Azure regions, automatic indexing of all properties, and read and write latencies in the single-digit milliseconds at the 99th percentile. Cosmos DB also offers multiple consistency levels (strong, bounded staleness, session, consistent prefix, eventual) so you can tailor data freshness versus performance. For a retail catalog that must be always available and queried at scale, Cosmos DB's document API and dedicated throughput (RU/s) deliver both flexibility and predictable performance.

Why this answer

Azure Cosmos DB is a globally distributed NoSQL database service that supports low-latency reads and writes at global scale. It can store JSON documents with arrays, making it suitable for product catalog data that includes tags. Azure Table Storage is a key-value store but lacks global distribution and support for complex queries.

Azure Blob Storage is designed for unstructured blob data, not transactional updates. Azure Cache for Redis is an in-memory cache, not a durable data store for product catalogs.

81
MCQmedium

A smart building company stores IoT sensor data in Azure Cosmos DB using the NoSQL API. Each document contains fields: deviceId (partition key), timestamp, temperature, and humidity. The most common query is to retrieve all readings for a specific device within a time range, which runs efficiently. However, the analytics team occasionally runs a query to find all devices that reported a temperature above 50 degrees Celsius in the last hour, without specifying deviceId. This query is very slow and consumes a high number of request units (RUs). What is the most likely reason for the slow performance and high RU consumption?

A.The query does not use the partition key, causing a cross-partition scan.
B.The query is not using an index on the temperature field.
C.The time range filter is too large, causing a full table scan.
D.The document size is too large, increasing RU per read.
AnswerA

In Azure Cosmos DB, a query's RU cost and latency heavily depend on whether its filter includes the partition key. When the WHERE clause lacks the partition key, the request cannot be routed to a single physical partition, so the query is fanned out to every partition and scans each one for matching documents. This cross-partition scan multiplies the amount of data read and the RU consumption, and it also introduces network round-trips across partitions, which is why the query is slow and expensive. Including the partition key in the filter would constrain the query to one partition and avoid this overhead.

Why this answer

The query does not include the partition key (deviceId) in the filter, so Azure Cosmos DB cannot route it to a single physical partition. Instead, it must fan out the query to every partition, scanning all documents across the container. This cross-partition query consumes significantly more RUs and takes longer because each partition must be queried sequentially or in parallel, and the results are merged server-side.

Exam trap

The trap here is that candidates may assume indexing is the culprit (Option B) because they think a missing index causes slow queries, but Azure Cosmos DB indexes all fields automatically, so the real issue is the missing partition key forcing a cross-partition scan.

How to eliminate wrong answers

Option B is wrong because Azure Cosmos DB automatically indexes all fields by default (unless the indexing policy is explicitly overridden), so the temperature field is already indexed; the slowness is not due to a missing index. Option C is wrong because the time range filter is only one hour, which is a narrow window; the performance issue is caused by the lack of partition key, not the size of the time range. Option D is wrong because document size affects RU cost per read, but the primary reason for the high RU consumption and slowness is the cross-partition scan, not the size of individual documents.

82
MCQeasy

Your team needs to store JSON documents that require schema flexibility and global distribution. Which Azure data store should you choose?

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

Azure Cosmos DB is the correct choice because it is a natively schema-agnostic, multi-model NoSQL database. It stores JSON documents as first-class items in an indexable, physically contiguous format, and its SQL-like query engine can directly reference nested JSON properties without any pre-defined table structure. Documents with completely different fields can sit side-by-side in the same container, and the service also provides global distribution, multiple consistency levels, and tunable indexing to meet operational requirements.

Why this answer

Azure Cosmos DB is a globally distributed, multi-model database service that natively supports JSON documents with schema flexibility. It offers turnkey global distribution, multi-master replication, and low-latency access worldwide, making it the ideal choice for JSON documents requiring global distribution.

Exam trap

DP-900 often tests the difference between Cosmos DB (globally distributed, schema-flexible NoSQL) and Azure SQL Database (relational, schema-fixed), tricking candidates who overlook global distribution requirements.

How to eliminate wrong answers

Option A is wrong because Azure Table Storage is a key-value store with limited querying and no global distribution or schema flexibility for complex JSON documents. Option B is wrong because Azure SQL Database is a relational database with a fixed schema, not ideal for schema-flexible JSON documents, and global distribution requires additional configuration like geo-replication. Option C is wrong because Azure Blob Storage is object storage for unstructured data, not a database with querying and indexing capabilities for JSON documents.

83
MCQeasy

A company stores user profile images in Azure Blob Storage. Each image is accessed via a URL that includes a Shared Access Signature (SAS) token generated using the storage account key. The company needs to immediately revoke access to all images for a specific user. Which action should they take?

A.Delete the individual SAS tokens associated with that user's images.
B.Change the storage account access keys.
C.Delete the container containing the user's images.
D.Regenerate the SAS token for each image.
AnswerB

Rotating an Azure Storage account access key immediately invalidates every SAS token whose signature was computed with that key, because the signature is a keyed hash that can no longer be verified. This provides a definitive way to revoke the user's images access without deleting any data, though it also revokes all other SAS tokens that used the same key, so new tokens must be issued to legitimate users. The account key is the root credential for all types of SAS tokens, making this the most forceful revocation mechanism available.

Why this answer

Changing the storage account access keys invalidates all SAS tokens that were generated using those keys, including any existing tokens. This immediately revokes access to all images for all users, including the specific user, without needing to manage individual tokens. SAS tokens are signed with the account key, so rotating the key renders all tokens generated with the old key invalid.

Exam trap

The trap here is that candidates think SAS tokens can be individually deleted or regenerated, but Azure does not maintain a token registry; the only way to invalidate all tokens derived from an account key is to rotate the key itself.

How to eliminate wrong answers

Option A is wrong because SAS tokens are not stored or managed individually by Azure; they are generated on-the-fly and embedded in URLs, so there is no central list of tokens to delete. Option C is wrong because deleting the entire container would remove all images for all users, which is excessive and not targeted to a specific user. Option D is wrong because regenerating the SAS token for each image would require knowing each token and would not revoke access to existing tokens that are already distributed; it also does not scale for immediate revocation.

84
MCQmedium

Your application uses Azure Table storage to store user preferences. You need to retrieve all preferences for a specific user quickly. Which key should you use as the partition key?

A.Region
B.Random GUID
C.UserID
D.Timestamp
AnswerC

UserID is the natural partition key because it groups every preference row for a single user into the same partition, allowing their data to be retrieved with a fast, single-partition query. This design also enables entity group transactions, so multiple preference updates for a user can be applied atomically. Since each user forms a distinct, evenly distributed partition when user IDs are varied, it avoids hot partitions while matching the application's primary access pattern.

Why this answer

In Azure Table Storage, the partition key determines which partition stores the entity, and entities with the same partition key are stored together and can be retrieved with a single partition scan. Using UserID as the partition key groups all preferences for a user into one partition, enabling fast point queries by PartitionKey + RowKey.

Exam trap

DP-900 often tests the trade-off between even write distribution and query efficiency; candidates pick a random GUID for 'scalability' without realizing it destroys the ability to query by user efficiently.

How to eliminate wrong answers

Option A is wrong because Region would group users by geography, so retrieving one user's preferences would require scanning many entities in a large partition. Option B is wrong because a random GUID spreads entities across partitions, making per-user retrieval a cross-partition query — the opposite of what is needed. Option D is wrong because Timestamp as partition key groups by time, so a user's preferences would be scattered across many partitions, requiring a full table scan.

85
MCQeasy

A manufacturing company stores IoT sensor data as blobs in Azure Blob Storage. Each blob is named with a device ID and a timestamp, and they need to quickly find all blobs for a specific device within a date range. Which Azure Blob Storage feature should they use to query blobs based on custom metadata?

A.Blob snapshots
B.Blob soft delete
C.Blob index tags
D.Blob lifecycle management
AnswerC

Blob index tags are user-defined key-value pairs that Azure stores as metadata on each blob and maintains in an internal searchable index. You can query blobs using the Find Blobs by Tags API, filtering on tags such as deviceID and sensorTimestamp, without needing to ingest the blob content or scan containers. This is exactly the capability needed to retrieve IoT sensor blobs by device and time criteria.

Why this answer

Blob index tags allow you to apply custom key-value metadata to blobs and then query them using a filtered query across containers or storage accounts. This enables efficient retrieval of blobs by device ID and timestamp without scanning all blob names or maintaining a separate index.

Exam trap

The trap here is that candidates confuse blob index tags with blob naming conventions or metadata stored in a separate database, thinking that blob name patterns alone are sufficient for efficient querying, but Azure Blob Storage does not natively support server-side filtering by name patterns.

Why the other options are wrong

A

Blob snapshots capture point-in-time read-only copies of blobs, but they do not support querying blobs based on custom metadata like device ID or timestamp.

B

Blob soft delete protects blobs from accidental deletion or overwriting by retaining them for a specified retention period; it does not support querying blobs based on custom metadata or indexing.

D

Blob lifecycle management automates tier transitions or deletion based on age or last modification, not querying blobs by custom metadata like device ID and timestamp.

86
MCQmedium

A gaming company stores player profiles as JSON documents. Each profile can have different attributes; for example, some profiles include an 'achievements' field while others include a 'purchaseHistory' field. The application must retrieve profiles by player ID with single-digit-millisecond latency and also support SQL-like queries on any attribute. Which Azure data store should the company use?

A.A. Azure Table Storage
B.B. Azure Cosmos DB Core (SQL) API
C.C. Azure Blob Storage
D.D. Azure Database for PostgreSQL
AnswerB

Azure Cosmos DB Core (SQL) API is a multi-model NoSQL database service that natively stores JSON documents with flexible schemas. It automatically indexes every property without requiring explicit schema definitions, so you can run SQL-like JOINs, projections, and filters on any attribute while retaining single-digit-millisecond point reads via a well-chosen partition key. This makes it the ideal choice for player profiles that vary in structure and are accessed frequently by player ID.

Why this answer

Azure Cosmos DB Core (SQL) API is the correct choice because it natively stores JSON documents with flexible schemas, supports indexing on any attribute for SQL-like queries, and guarantees single-digit-millisecond latency for point reads by player ID. This meets the requirement for both fast key-based lookups and ad-hoc querying across varying profile attributes.

Exam trap

The trap here is that candidates may confuse Azure Table Storage's key-value capabilities with the need for flexible schema and SQL-like queries, overlooking that Table Storage does not support querying arbitrary attributes or guarantee single-digit-millisecond latency for such queries.

Why the other options are wrong

A

Azure Table Storage does not support SQL-like queries on arbitrary attributes; it only allows queries on partition key and row key, and lacks indexing for flexible JSON attribute queries.

C

Azure Blob Storage is optimized for storing large unstructured data like images, videos, and backups, not for low-latency queries on JSON documents with SQL-like capabilities. It lacks native support for indexing and querying individual attributes within JSON files.

D

Azure Database for PostgreSQL is a relational database that requires a fixed schema, but the player profiles have varying attributes (e.g., 'achievements' and 'purchaseHistory' may be absent). It cannot natively store flexible JSON documents with single-digit-millisecond latency for ID-based lookups and SQL-like queries on any attribute without complex schema design.

87
MCQmedium

A gaming company stores player scores in Azure Cosmos DB using the NoSQL API. Each document contains: PlayerID (unique to player), GameID, Score, 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 directly matches the query predicate, so all score documents for a given game are stored contiguously on the same logical partition. A query filtering on GameID is a single-partition query, which is the most RU-efficient and lowest-latency pattern in Azure Cosmos DB. GameID also offers sufficient cardinality and activity distribution to avoid hot partitions.

Why this answer

GameID is the correct partition key because the most common query filters on GameID, and Cosmos DB routes each query to the physical partition(s) containing that GameID's data. Using GameID ensures the query touches only the relevant partition(s), minimizing RU consumption by avoiding cross-partition fan-out. A partition key that matches the filter predicate is essential for efficient, single-partition queries.

Exam trap

The trap here is that candidates often pick PlayerID because it's unique and seems like a natural key, but they fail to realize that a partition key must align with the most common query filter to avoid costly cross-partition queries, not just be unique.

How to eliminate wrong answers

Option A is wrong because PlayerID is unique per player, causing each query for a GameID to scatter across all partitions (since scores for the same GameID would be distributed across many PlayerID partitions), resulting in a cross-partition query that consumes more RUs. Option C is wrong because Score is a high-cardinality, frequently updated value that would cause hot partitions and inefficient queries, as filtering on GameID would still require scanning all partitions. Option D is wrong because Timestamp is monotonically increasing, leading to hot partitions on the latest timestamp and requiring cross-partition queries when filtering by GameID, which increases RU cost.

88
MCQhard

Refer to the exhibit. You are reviewing an ARM template snippet for an Azure storage account. You need to ensure that the storage account supports POSIX-like permissions for data lake workloads. Which property must be enabled?

A."allowBlobPublicAccess": false
B."hierarchicalNamespace": {"enabled": true}
C."kind": "DataLakeStorageGen2"
D."keySource": "Microsoft.Storage"
AnswerB

Enabling hierarchicalNamespace converts the storage account to Data Lake Storage Gen2, which replaces flat blob naming with a true directory hierarchy. Only this namespace structure supports POSIX-style access control lists (ACLs) at file and directory level, satisfying the stem's data lake permission requirement.

Why this answer

The correct option is B, "hierarchicalNamespace": {"enabled": true}, because enabling a hierarchical namespace on an Azure Storage account is what upgrades it to Data Lake Storage Gen2 capabilities, including POSIX-like access control lists (ACLs) and directory-level permissions required for data lake workloads. Without this property set to enabled, the account remains a flat Blob Storage namespace and cannot apply POSIX-style permissions. Option A (allowBlobPublicAccess: false) only restricts anonymous public read access and has no bearing on POSIX permissions.

Option C (kind: DataLakeStorageGen2) is not a valid value for the kind property in ARM templates; the valid kind is StorageV2 (or BlockBlobStorage/BlobStorage/FileStorage), and Data Lake behavior is enabled via the hierarchical namespace flag. Option D (keySource: Microsoft.Storage) only specifies that encryption keys are managed by Microsoft, which is unrelated to POSIX-like permissions.

89
MCQeasy

A development team needs to store semi-structured telemetry data in Azure. They require a schema-less store that supports automatic indexing and can be queried using a SQL-like syntax. Which Azure service should they use?

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

Azure Cosmos DB for NoSQL is a schema-agnostic, globally distributed database that stores JSON documents. It automatically indexes all properties and supports a SQL-like query language. This makes it ideal for semi-structured telemetry data that may evolve over time, and it provides low-latency reads and writes at scale.

Why this answer

Azure Cosmos DB for NoSQL is the best choice because it natively stores JSON documents without requiring a fixed schema, automatically indexes all properties, and supports a familiar SQL-like query language. These features directly address the need for a schema-less store with automatic indexing and SQL-like querying for semi-structured telemetry data.

Exam trap

The trap here is assuming that any storage service can handle semi-structured data with SQL-like queries, when only Azure Cosmos DB for NoSQL provides automatic indexing and a SQL query language natively.

90
MCQeasy

A social media application stores user posts as JSON documents in Azure Cosmos DB. Each post includes fields such as postId, userId, content, timestamp, and an array of tags. The development team wants to query posts by userId and timestamp range using a SQL-like syntax. Which Azure Cosmos DB API should they choose?

A.A. Azure Cosmos DB for MongoDB API
B.B. Azure Cosmos DB for NoSQL API (Core SQL API)
C.C. Azure Cosmos DB for Table API
D.D. Azure Cosmos DB for Apache Cassandra API
AnswerB

Azure Cosmos DB NoSQL API stores documents natively as JSON, and its SQL-like query syntax (SELECT * FROM c WHERE c.userId = @id AND c.timestamp > @time) is directly optimized for these documents. The API auto-indexes every property, enabling efficient range scans on timestamp and equality filters on userId without manual index tuning. This makes it the most natural fit for a social media post store requiring flexible schemas and rich queries.

Why this answer

The Azure Cosmos DB for NoSQL API (Core SQL API) is the correct choice because it natively supports SQL-like querying (SELECT, WHERE, ORDER BY) over JSON documents. The team's requirement to query posts by userId and timestamp range using SQL-like syntax is directly supported by this API, which treats each JSON document as an item and allows filtering on nested fields like userId and timestamp. Other APIs either lack native SQL-like syntax or are optimized for different data models (e.g., MongoDB uses a JSON-like query language, Table API uses OData, Cassandra uses CQL).

Exam trap

The trap here is that candidates confuse 'SQL-like syntax' with any API that supports querying, but only the Core SQL API provides native SQL SELECT statements over JSON documents, while other APIs use different query languages (e.g., MongoDB's query operators, Cassandra's CQL) that are not SQL-like in the standard sense.

Why the other options are wrong

A

The MongoDB API uses a MongoDB-compatible query language, not SQL-like syntax. The question specifically requires SQL-like queries, which is a feature of the Core (SQL) API.

C

The Table API uses key/attribute-based lookups and does not support SQL-like queries with WHERE clauses on non-key fields like userId and timestamp range. It is designed for simple key-value access, not complex queries on JSON documents.

D

The Cassandra API uses CQL (Cassandra Query Language) and is optimized for wide-column, high-throughput workloads, not for SQL-like queries on JSON documents with nested arrays like tags.

91
MCQmedium

A global social media app uses Azure Cosmos DB (NoSQL API) to store user profile data. The app is read-heavy and requires the fastest possible read performance worldwide. The data is updated by users and eventual consistency is acceptable because immediate consistency is not critical for profile views. Which consistency level should they choose to minimize read latency?

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

Eventual consistency offers the lowest read latency of all five Cosmos DB levels, since replicas serve reads without waiting for quorum confirmation. The stem explicitly states immediate consistency is not critical for profile views, so this satisfies the read-heavy, globally distributed, latency-sensitive requirement.

Why this answer

Eventual consistency offers the lowest read latency because it allows reads from any replica without waiting for confirmation that the data is the most recent version. Since the app is read-heavy and eventual consistency is acceptable, this consistency level minimizes latency by not requiring any synchronization or staleness bounds.

Exam trap

The trap here is that candidates often assume Strong or Bounded staleness are required for any data that is updated, but the question explicitly states eventual consistency is acceptable, making Eventual the optimal choice for minimizing read latency.

How to eliminate wrong answers

Option A is wrong because Strong consistency requires reads to return the most recent write, which forces synchronization across replicas and increases latency, especially globally. Option B is wrong because Bounded staleness, while more relaxed than Strong, still imposes a maximum staleness bound (time or operations) that requires coordination, adding latency compared to Eventual. Option C is wrong because Session consistency guarantees monotonic reads and writes within a single client session, which introduces overhead to maintain session context and does not provide the lowest possible read latency.

92
MCQmedium

A global e-commerce company needs to store user session data (key-value pairs) for a web application hosted in multiple Azure regions. The data must support low-latency reads and writes (under 10 ms) and be automatically replicated across regions for high availability. The development team also requires the ability to query sessions by user ID using a simple key lookup and occasionally filter by secondary attributes such as timestamp. Which Azure data store should they choose?

A.Azure Cosmos DB
B.Azure Table Storage
C.Azure SQL Database
D.Azure Cache for Redis
AnswerA

Azure Cosmos DB is purpose-built for globally distributed, horizontally scalable key-value workloads. It offers turnkey multi-region replication with multiple consistency models, automatic indexing, and single-digit-millisecond reads/writes at any scale, so user session data can be read and written from any Azure region with low latency. Its partition-key-based design maps directly to session IDs, and its SLA-backed availability and tunable consistency make it the correct durable, globally distributed store for this scenario.

Why this answer

Azure Cosmos DB is correct because it provides globally distributed, multi-region writes with automatic replication, guaranteeing low-latency reads and writes under 10 ms at the 99th percentile. Its key-value API (Table API or SQL API) supports simple key lookups by user ID and secondary indexing on attributes like timestamp, meeting all stated requirements.

Exam trap

The trap here is that candidates often confuse Azure Cache for Redis as a durable data store for session data, overlooking that it is primarily a caching layer and lacks the built-in multi-region replication and durability guarantees required for high availability in a global e-commerce scenario.

Why the other options are wrong

B

Azure Table Storage does not support automatic multi-region replication for low-latency global access; it requires manual configuration or a separate multi-region setup, and its latency may exceed 10 ms for cross-region reads.

C

Azure SQL Database is a relational database that does not natively support key-value storage with low-latency reads/writes under 10 ms across multiple regions, nor does it provide automatic multi-region replication for session data without complex configuration.

D

Azure Cache for Redis is an in-memory cache, not a fully managed database with automatic multi-region replication and persistent storage. It does not natively support querying by secondary attributes like timestamp without additional indexing logic.

93
MCQmedium

A company stores backup files in Azure Blob Storage. The backup files are accessed frequently for the first 30 days, then only rarely for the next six months. After one year, the files must be retained for compliance but are never accessed. The company wants to minimize storage costs. Which solution should they use?

A.Manually move files between storage accounts
B.Use Azure Blob Storage lifecycle management policies
C.Use Azure File Sync
D.Use Azure NetApp Files
AnswerB

Azure Blob Storage lifecycle management policies are the correct choice because they automate the transition of blobs across Hot, Cool, Cold, and Archive tiers based on age conditions such as 'last modified more than 90 days ago'. Administrators define JSON rules that move backup files to cooler, cheaper storage and optionally purge them after a retention period. This reduces cost with zero ongoing manual effort and integrates directly with backup workloads.

Why this answer

Azure Blob Storage lifecycle management policies allow you to automatically transition blobs to cooler tiers (e.g., from Hot to Cool after 30 days, then to Archive after one year) and delete blobs after a specified period, all without manual intervention. This directly matches the access pattern: frequent access for 30 days, rare access for six months, and never accessed after one year, minimizing storage costs by using the most cost-effective tier for each phase.

Exam trap

The trap here is that candidates may confuse Azure File Sync or Azure NetApp Files as viable storage options for backups, but these services are designed for active file sharing and high-performance workloads, not for cost-optimized, tiered archival of rarely accessed blob data.

How to eliminate wrong answers

Option A is wrong because manually moving files between storage accounts is labor-intensive, error-prone, and does not leverage Azure's built-in tiering or automation, leading to higher operational costs and potential compliance gaps. Option C is wrong because Azure File Sync is designed for synchronizing on-premises file servers with Azure file shares, not for managing blob lifecycle or tier transitions; it does not support blob storage tiers or automated deletion based on age. Option D is wrong because Azure NetApp Files is a high-performance, enterprise-grade NFS/SMB file share service for demanding workloads, not a cost-optimized solution for infrequently accessed backup blobs; it is significantly more expensive than blob storage tiers and lacks lifecycle management for archival.

94
MCQmedium

You are designing a data storage solution for a social media application that stores user profile pictures and uploaded photos. The solution must support high throughput and be optimized for reading and writing large binary objects. Which Azure data service should you recommend?

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

Azure Blob Storage is a fully managed, massively scalable object store that is the correct choice for storing and serving large numbers of image files, such as those posted on a social media platform. It provides extremely high throughput, supports storage tiers for optimizing cost, and can serve blobs directly via HTTP/HTTPS, enabling straightforward use with CDNs for low-latency access worldwide. Blobs can be accessed using REST APIs and SDKs, making it ideal for unstructured binary data.

Why this answer

Azure Blob Storage is Microsoft's object storage service purpose-built for storing massive amounts of unstructured data such as images, videos, documents, and binary files. It offers high throughput via Block Blobs (optimized for streaming uploads) and supports hot/cool/archive tiers for cost optimization based on access patterns. For a social media app storing profile pictures and uploaded photos, Blob Storage provides the scalability, durability (11 nines), and HTTP/REST access needed for read/write of large binary objects.

Exam trap

DP-900 often tests the confusion between file storage (Azure Files), object storage (Blob), and database storage (SQL/Cosmos), so candidates must map 'large binary objects + high throughput' directly to Blob Storage.

How to eliminate wrong answers

Option A is wrong because Azure Files provides SMB/NFS file shares for lift-and-shift file server scenarios, not optimized for massive-scale object storage of images with HTTP access. Option C is wrong because Azure SQL Database is a relational database for structured tabular data — storing large binary objects (BLOBs) in SQL is inefficient and expensive compared to object storage. Option D is wrong because Azure Cosmos DB is a globally distributed NoSQL database for structured/semi-structured documents and key-value data, not designed for storing large binary media files.

95
MCQmedium

A company stores sensor data in Azure Blob Storage. The data is appended every minute and rarely modified. The compliance team requires that blobs older than 90 days be moved to a more cost-effective storage tier, and blobs older than 365 days be deleted. Which solution should you recommend?

A.Use Azure Backup to set a retention policy for the storage account.
B.Configure a Blob Storage lifecycle management policy.
C.Enable Blob Soft Delete and set retention days to 365.
D.Move the blobs to Azure Files and set a file retention policy.
AnswerB

A Blob Storage lifecycle management policy is the correct tool because it lets you define rule-based actions that automatically transition blobs to cooler tiers (hot to cool, cool to archive) and expire them after a specified number of days since last modification. For sensor data that becomes less frequently accessed over time, this is the native, cost-optimized mechanism to enforce retention and deletion without manual intervention or additional services.

Why this answer

Azure Blob Storage lifecycle management policies let you define rules that transition blobs to cooler tiers (Cool, Cold, Archive) after a specified number of days and delete them after another threshold. This directly satisfies the 90-day tier move and 365-day deletion requirements without custom code.

Exam trap

DP-900 often tests the confusion between backup retention and lifecycle management; candidates pick Azure Backup thinking it deletes or tiers live data, when it only manages recovery points.

How to eliminate wrong answers

Option A is wrong because Azure Backup is for backup and retention of recovery points, not for tiering or deleting live blobs based on age. Option C is wrong because Blob Soft Delete retains deleted blobs for a recovery window; it does not move blobs to a cheaper tier and does not delete them at 365 days. Option D is wrong because Azure Files is a different service (SMB/NFS file shares) and moving blobs there changes the access model and cost structure; file retention policies do not apply to Blob Storage.

96
MCQeasy

A company stores terabytes of customer support chat transcripts in JSON format. The data is rarely modified and needs to be accessed by analysts using SQL queries. The analysts do not want to manage servers or provision throughput. Which Azure service should be used to store and query this data?

A.Azure Blob Storage (with Azure Data Lake Storage Gen2) and query using Azure Synapse Serverless SQL
B.Azure Cosmos DB
C.Azure Table Storage
D.Azure SQL Database
AnswerA

Azure Data Lake Storage Gen2 holds the JSON files cheaply, and Synapse serverless SQL pools query them directly with T-SQL, charging per terabyte scanned. This meets the no-server, no-provisioned-throughput constraint while giving analysts SQL access.

Why this answer

Azure Blob Storage with Azure Data Lake Storage Gen2 provides a cost-effective, scalable solution for storing large volumes of JSON data in its native format. By using Azure Synapse Serverless SQL, analysts can query this data directly with standard T-SQL without provisioning any infrastructure or managing throughput, meeting the requirement for serverless, on-demand querying of rarely modified data.

Exam trap

The trap here is that candidates often confuse Azure Cosmos DB's SQL API with traditional SQL querying, overlooking the requirement to avoid provisioning throughput, or they assume Azure Table Storage supports SQL queries when it only supports key-value lookups via REST or OData.

How to eliminate wrong answers

Option B is wrong because Azure Cosmos DB is a NoSQL database designed for globally distributed, low-latency access and requires provisioning throughput (RU/s), which contradicts the requirement to avoid managing throughput. Option C is wrong because Azure Table Storage is a key-value store that does not support SQL queries natively; it uses OData or REST APIs, not SQL. Option D is wrong because Azure SQL Database is a relational database that requires provisioning a server and managing throughput (DTUs or vCores), which violates the requirement to not manage servers or provision throughput.

97
MCQmedium

A gaming application stores player profiles as JSON documents. Each profile has standard fields like playerId, username, and email, but also optional fields such as achievements and gamePreferences. The application needs to query profiles by playerId with low latency and also run SQL-like queries to find players with specific achievements. Which Azure Cosmos DB API should they choose?

A.A: Table API
B.B: MongoDB API
C.C: SQL (Core) API
D.D: Cassandra API
AnswerC

The SQL API provides native support for JSON documents, low-latency point reads by partition key (playerId), and the ability to run SQL-like queries on document fields such as achievements.

Why this answer

The SQL (Core) API is the best choice because it natively supports JSON documents with flexible schemas (including optional fields like achievements and gamePreferences), provides low-latency point reads by playerId using the id field as the partition key, and enables SQL-like queries (e.g., SELECT * FROM c WHERE ARRAY_CONTAINS(c.achievements, 'specific_achievement')) without requiring a separate indexing or translation layer.

Exam trap

The trap here is that candidates often confuse the MongoDB API's JSON document support with SQL-like query capability, but the question specifically requires SQL-like queries, which only the SQL (Core) API provides natively.

Why the other options are wrong

A

The Table API uses a key-value store with a schema-less design but lacks native support for JSON documents with nested structures and SQL-like querying for nested fields like achievements.

D

The Cassandra API does not support SQL-like queries or JSON documents with flexible schemas; it is optimized for wide-column stores and uses CQL (Cassandra Query Language), not SQL.

98
MCQmedium

You are designing a solution to store IoT device telemetry data. Each message is a small JSON payload (1-2 KB). The data is written once and read frequently for real-time dashboards. Which Azure data store should you use?

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

Azure Cosmos DB is correct because it is a multi-model NoSQL database with native JSON document support, schema-agnostic ingestion, and horizontally scaled partitions. It provides single-digit-millisecond reads and high write throughput at any scale, which is ideal for high-frequency device telemetry. Time-series data can be partitioned by device ID or timestamp, and SQL-like queries are supported. This directly matches the requirement for low-latency reads of JSON telemetry.

Why this answer

Azure Cosmos DB is the correct choice because it is a globally distributed, multi-model database service that offers single-digit millisecond read and write latencies at any scale, making it ideal for real-time dashboards consuming IoT telemetry. Its support for JSON documents natively aligns with the small JSON payloads, and its ability to handle high-throughput writes (once) and low-latency reads (frequently) without schema management fits the workload perfectly.

Exam trap

The trap here is that candidates often choose Azure Blob Storage because they associate 'JSON payloads' with 'files,' overlooking that Blob Storage lacks the low-latency query and indexing capabilities required for real-time dashboards, while Cosmos DB is purpose-built for such operational workloads.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database is a relational database that requires a fixed schema and is optimized for complex queries and transactions, not for the high-velocity, schema-less JSON ingestion typical of IoT telemetry. Option C is wrong because Azure Blob Storage is designed for storing large, unstructured binary objects (e.g., images, videos, backups) and does not provide the sub-second query latency or indexing needed for real-time dashboards; it is better suited for archival or batch processing of telemetry data. Option D is wrong because Azure Table Storage is a key-value store that lacks native JSON support, advanced indexing, and the low-latency read capabilities required for real-time dashboards; it is more appropriate for simple, high-volume structured data with limited query patterns.

99
MCQmedium

A smart building company stores sensor data from thousands of IoT devices as JSON documents in Azure Cosmos DB using the NoSQL API. Each document contains fields: deviceId (string), timestamp (datetime), temperature (float), humidity (float), and additional device-specific fields (e.g., motionDetected, CO2level). The most common query is: SELECT * FROM c WHERE c.deviceId = 'sensor-123' AND c.timestamp >= '2025-01-01' AND c.timestamp < '2025-02-01' ORDER BY c.timestamp DESC. Which indexing strategy will provide the best performance for this query?

A.Use the default indexing policy that automatically indexes all properties
B.Create a composite index on (deviceId ASC, timestamp DESC)
C.Disable indexing for all properties to speed up writes
D.Create a spatial index on the deviceId field
AnswerB

A composite index on (deviceId ASC, timestamp DESC) exactly matches the query pattern: it lets the query engine seek on the deviceId equality predicate, then perform a contiguous descending scan on timestamp for the range condition. Because the index is already sorted in the requested timestamp order, the results can be streamed without a separate SORT operator, reducing CPU and request-unit cost. The ASC on deviceId supports equality and the DESC on timestamp matches the ORDER BY direction, which is a required nuance in Cosmos DB composite index design.

Why this answer

The query filters on `deviceId` (equality) and `timestamp` (range with ORDER BY DESC). A composite index on `(deviceId ASC, timestamp DESC)` allows Cosmos DB to efficiently locate the partition for the device and then scan the timestamp range in descending order without an in-memory sort, minimizing RU consumption and latency.

Exam trap

The trap here is that candidates assume the default indexing policy is sufficient for all queries, but they miss that composite indexes are required to efficiently support queries that combine equality filters on one property with range filters and ORDER BY on another property.

How to eliminate wrong answers

Option A is wrong because the default indexing policy indexes all properties individually, which does not optimize the combined filter on `deviceId` and `timestamp` with an ORDER BY clause, leading to higher RU usage and potential full scans. Option C is wrong because disabling indexing entirely would force every query to perform a full sequential scan of all documents, dramatically increasing RU cost and latency, especially for range queries. Option D is wrong because a spatial index is designed for geospatial queries (e.g., ST_DISTANCE, ST_WITHIN) and has no relevance to filtering on `deviceId` and `timestamp`.

100
MCQmedium

A smart home company stores sensor readings from thousands of devices in Azure Cosmos DB. Each reading includes a deviceID, timestamp (ISO format), sensor type, and value. The most common query retrieves all readings for a specific device within a time range. To minimize Request Units (RU) consumption and ensure even data distribution, which property should be chosen as the partition key?

A.A) deviceID
B.B) timestamp
C.C) sensor type
D.D) value
AnswerA

deviceID is an ideal partition key because it exhibits high cardinality, meaning thousands of distinct values that map to separate physical partitions, ensuring even data distribution. Since the sensor queries always filter by a specific deviceID, Azure Cosmos DB can route each request directly to the partition containing that device's readings, eliminating cross-partition fan-out. This design keeps individual partitions small and balances the workload across the container, satisfying both the efficient filtering and even distribution requirements.

Why this answer

DeviceID is the correct partition key because it is the primary filter in the most common query (all readings for a specific device within a time range). Partitioning by deviceID ensures that all readings for a single device are stored in the same logical partition, making queries highly efficient by targeting a single partition. It also provides even data distribution across physical partitions, as thousands of devices will have roughly equal numbers of readings, minimizing RU consumption.

Exam trap

The trap here is that candidates often choose timestamp because they think it naturally orders data by time, but they overlook that the most common query filters by deviceID first, and using timestamp as the partition key would cause cross-partition queries for every device-specific time range, dramatically increasing RU costs.

How to eliminate wrong answers

Option B (timestamp) is wrong because using timestamp as the partition key would cause all readings with the same timestamp (e.g., same second) to land in the same partition, creating hot spots and uneven distribution, and queries for a specific device would need to fan out across many partitions. Option C (sensor type) is wrong because sensor types are typically few (e.g., temperature, humidity), leading to a small number of large partitions (hot partitions) and poor query performance for device-specific queries. Option D (value) is wrong because values are highly varied and not used as a filter in the common query, making it a poor choice for partition key—it would scatter each device's data across many partitions, increasing RU consumption for range queries.

101
MCQmedium

A social media company stores user posts in Azure Cosmos DB. Each post document contains fields like postId, userId, content, timestamp, and an array of comments. The comments array can grow large (hundreds per post), and the application frequently retrieves a post without its comments to display in a feed. To optimize read performance and minimize request units (RU) consumption, which data modeling approach should the company adopt?

A.A. Store comments in a separate container to isolate the data.
B.B. Store comments as separate documents and reference them from the post document via a comments array of IDs.
C.C. Use a vertical partition within the same document to separate the comments array.
D.D. Migrate the data to Azure SQL Database to use normalized tables and indexes.
AnswerB

This approach decouples comments from the post document. When retrieving a post for the feed, the application reads only the post document, avoiding the large comments array. This reduces RU consumption and improves latency. Comments can be loaded on demand when needed.

Why this answer

Storing comments as separate documents and referencing them via an array of IDs in the post document allows the application to retrieve the post without comments in a single point read, consuming minimal request units (RUs). This avoids loading the large comments array when only the post metadata is needed for the feed, significantly reducing RU consumption and improving read performance in Azure Cosmos DB.

Exam trap

The trap here is that candidates may think embedding the comments array is always optimal for performance, but they overlook that reading the entire document with a large array wastes RUs when only the post metadata is needed, making reference-based modeling more efficient for this access pattern.

How to eliminate wrong answers

Option A is wrong because storing comments in a separate container would require cross-container queries or application-level joins, increasing RU cost and latency, and losing the benefit of document co-location. Option C is wrong because Azure Cosmos DB does not support vertical partitions within a document; the comments array is already part of the document, and separating it logically does not reduce RU consumption when reading the entire document. Option D is wrong because migrating to Azure SQL Database is unnecessary and contradicts the requirement to optimize non-relational data; it would introduce schema rigidity and higher latency for the social media use case.

102
Multi-Selecthard

Which THREE of the following are valid considerations when choosing between Azure Blob Storage and Azure Data Lake Storage Gen2 for a big data analytics workload?

Select 3 answers
A.ADLS Gen2 can be optimized for high-throughput analytics workloads
B.ADLS Gen2 supports a hierarchical namespace for folder-level organization
C.Blob Storage provides POSIX-compliant access control lists (ACLs)
D.ADLS Gen2 cannot use Blob Storage APIs
E.Blob Storage supports lifecycle management policies
AnswersA, B, E

ADLS Gen2 is engineered for high-throughput big data analytics: its ABFS driver and parallel I/O allow large files to be read at massive scale by engines like Spark and Hive. Because it is built on Blob Storage but adds a hierarchical file system, it can sustain sequential read throughput that flat Blob can struggle to match for analytic workloads.

Why this answer

ADLS Gen2 supports a hierarchical namespace, POSIX-like permissions, and is cost-effective for both hot and cool tiers. Blob Storage lacks hierarchical namespace by default. Both support lifecycle management.

ADLS Gen2 can be used with Blob APIs but also has additional features.

103
MCQmedium

A mobile game stores player achievements in Azure Cosmos DB. Each player has a PlayerID, and achievements are stored as JSON documents with varying fields. The most common query retrieves all achievements for a specific player. To ensure low latency and efficient throughput, which property should be chosen as the partition key?

A.PlayerID
B.Timestamp
C.AchievementType
D.Region
AnswerA

PlayerID is the ideal partition key because it is the most commonly used query filter in a mobile game's achievement data access patterns. Each player has many achievements, but a single PlayerID value corresponds to a manageable logical partition, and the high cardinality of player IDs means requests spread evenly across physical partitions. Queries such as 'get all achievements for a player' become efficient single-partition operations, avoiding cross-partition fan-out and hot spots.

Why this answer

PlayerID is the correct partition key because the most common query retrieves all achievements for a specific player, and partitioning on PlayerID ensures that all documents for a given player are stored in the same physical partition. This allows the query to target a single partition, minimizing cross-partition queries and providing low latency and efficient throughput.

Exam trap

The trap here is that candidates often choose a high-cardinality key like Timestamp without considering the query pattern, mistakenly thinking any unique value is good, but the partition key must align with the most frequent query filter to avoid cross-partition overhead.

How to eliminate wrong answers

Option B (Timestamp) is wrong because using Timestamp as the partition key would scatter each player's achievements across multiple partitions, forcing cross-partition queries for the common 'all achievements for a player' query, increasing latency and RU consumption. Option C (AchievementType) is wrong because it would group achievements of the same type together, but a player's achievements span multiple types, again requiring cross-partition queries to retrieve all achievements for a player. Option D (Region) is wrong because it is unrelated to the player-centric query pattern; it would distribute a single player's data across partitions based on region, causing the same cross-partition query issue.

104
MCQmedium

A social media application stores user profile data as JSON documents. Each user's document has a different structure, with fields that vary based on user activity. The application needs to query these documents efficiently using SQL-like syntax and support high write throughput. Which Azure data store is most appropriate for this workload?

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

Azure Cosmos DB is a globally distributed, multi-model NoSQL database that natively stores JSON documents as first-class citizens. Its flexible schema allows user profiles with varying fields and nested structures to be inserted without migrations, while the SQL API provides rich, index-backed querying over nested JSON properties. With turnkey global distribution, tunable consistency, and guaranteed low-latency reads/writes, it is explicitly designed for social media workloads that demand both variable data shapes and high throughput at scale.

Why this answer

Azure Cosmos DB is the most appropriate choice because it natively supports storing and querying JSON documents with varying schemas, offers SQL-like query syntax via its core (SQL) API, and provides guaranteed low-latency reads/writes at any scale with automatic indexing of all fields. Its multi-model nature and configurable consistency levels make it ideal for high-throughput workloads like a social media application.

Exam trap

The trap here is that candidates often confuse Azure Table Storage's key-value capabilities with document database features, overlooking that Table Storage does not support JSON documents, nested fields, or SQL-like queries, whereas Cosmos DB is explicitly designed for such workloads.

Why the other options are wrong

A

Azure SQL Database requires a fixed relational schema, but the question specifies JSON documents with varying structures, making it unsuitable for schema-less data.

B

Azure Blob Storage is optimized for storing large unstructured binary data (e.g., images, videos) and does not natively support SQL-like querying of JSON documents or high write throughput for document-level operations.

D

Azure Table Storage does not support SQL-like querying or JSON document storage; it is a NoSQL key-value store for structured, non-relational data with a fixed schema per partition.

105
MCQeasy

You have an Azure Blob Storage container configured with the JSON snippet shown in the exhibit. What does the 'publicAccess' setting of 'Blob' allow?

A.Anonymous users can write blobs
B.No anonymous access is allowed
C.Anonymous users can list blobs in the container
D.Anonymous users can read blobs if they know the blob URL
AnswerD

Setting the container's public access level to 'Blob' grants anonymous users read permission for individual blobs, but only if they know the exact blob URL. Because the anonymous caller cannot list containers or blobs, discovery must happen out-of-band through a shared link or a known path. This is exactly the behavior enabled by the 'Blob' access level, making the answer correct.

Why this answer

The 'Blob' level of public access allows anonymous read access to blobs only; container metadata is not accessible. 'Container' level would allow anonymous listing of blobs. 'None' disables public access. 'Storage' is not a valid value.

106
MCQhard

You are designing a solution to store large binary files (up to 100 GB each) that are frequently read but rarely updated. The data must be accessible via HTTPS and support concurrent reads. Which Azure data store should you use?

A.Azure Files
B.Azure Cosmos DB
C.Azure NetApp Files
D.Azure Blob Storage
AnswerD

Azure Blob Storage handles objects up to roughly 190.7 TiB, serves them over HTTPS, and supports many concurrent readers, meeting the 100 GB file size and access requirements. It is optimised for large unstructured binaries, unlike Azure Files or Azure Queue Storage.

Why this answer

Azure Blob Storage is the object store designed for massive unstructured/binary objects (block blobs up to ~190.7 TiB, single PUT up to 5 GiB, with 100 GB well within range), exposes HTTPS/REST endpoints via the blob service, and supports concurrent reads with high throughput and multiple access tiers. Its Hot tier fits the 'frequently read, rarely updated' pattern, and features like snapshots, soft delete, and RA-GRS cover durability.

Exam trap

DP-900 often tests the storage-service selection trap: candidates confuse Azure Files (SMB/NFS shares) with Blob Storage (HTTP object store) because both 'store files', but only Blob is designed for massive unstructured objects accessed over HTTPS.

How to eliminate wrong answers

Option A is wrong because Azure Files is an SMB/NFS file-share service aimed at lift-and-shift file workloads and mounted shares, not optimized for 100 GB single objects or HTTPS object access. Option B is wrong because Cosmos DB is a globally distributed NoSQL/document database with a 2 MB item size limit — it cannot store 100 GB binary objects. Option C is wrong because Azure NetApp Files is an enterprise NFS/SMB file service for high-performance file workloads (SAP, HPC), not an HTTPS-accessible object store for large binaries.

107
MCQhard

A company uses Azure Table storage to store session state for a web application. They notice that read latency increases during peak hours. Which design change should they implement to reduce latency?

A.Change to Azure Blob storage
B.Store large attributes in a separate table
C.Switch to Azure Queue storage
D.Use a partition key that distributes load evenly, such as UserID
AnswerD

A partition key in Azure Table Storage determines the physical partition where an entity is stored; using a high-cardinality, evenly distributed key like UserID ensures requests are spread across many physical partitions, avoiding hot partitions that cause throttling and high latency. Session IDs often have natural randomness, but if you use a key like UserID, you guarantee that no single partition becomes a bottleneck, even when many users are active simultaneously. Even distribution is critical because Azure scales by splitting partitions, and a well-chosen partition key allows the service to handle increased load without performance degradation. This practice aligns with Azure Table Storage's design principles for scalable, low-latency key-value access.

Why this answer

Azure Table storage partitions data based on the partition key. Using a partition key that distributes load evenly, such as UserID, ensures that read requests are spread across multiple partition servers, preventing hot partitions and reducing latency during peak hours.

Exam trap

The trap here is that candidates may confuse Azure Table storage with other Azure storage services (Blob, Queue) or focus on data size optimization (Option B) instead of understanding how partition key design directly impacts read performance in a partitioned NoSQL store.

How to eliminate wrong answers

Option A is wrong because Azure Blob storage is designed for unstructured data (e.g., images, videos) and does not provide the low-latency, key-value access pattern needed for session state. Option B is wrong because storing large attributes in a separate table does not address the root cause of read latency—it may even increase complexity and latency due to additional table lookups. Option C is wrong because Azure Queue storage is a messaging service for asynchronous communication, not a low-latency storage solution for session state reads.

108
MCQmedium

A ride-sharing application uses Azure Cosmos DB for trip data. Each trip record contains TripID (unique), DriverID, RiderID, TripDate, and other details. The most common query retrieves all trips for a specific driver within a given date range. Which partition key should be chosen to minimize Request Unit (RU) consumption and ensure even data distribution?

A.TripID
B.DriverID
C.TripDate
D.RiderID
AnswerB

DriverID aligns with the most common query pattern. All trips for a given driver are stored together, allowing single-partition queries. This minimizes RU consumption if the number of trips per driver is within the 20 GB logical partition limit.

Why this answer

DriverID is the optimal partition key because the most common query filters on DriverID and a date range. Partitioning by DriverID ensures that all trips for a specific driver are stored in the same physical partition, making the query a single-partition operation that consumes minimal Request Units (RUs). It also provides even data distribution across partitions because each driver generates a roughly similar number of trips, avoiding hot spots.

Exam trap

The trap here is that candidates often pick TripDate because it seems logical for date-range queries, but they overlook that the primary filter is DriverID, and partitioning by TripDate would cause cross-partition queries and potential hot spots on high-traffic dates.

How to eliminate wrong answers

Option A is wrong because TripID is unique per trip, which would cause each query to fan out across all partitions (cross-partition query), increasing RU consumption and latency. Option C is wrong because TripDate can lead to hot partitions (e.g., all trips on a single day hitting one partition) and does not directly support the primary filter on DriverID, forcing cross-partition queries. Option D is wrong because RiderID is not used in the most common query filter, so partitioning by RiderID would still require a cross-partition query to find trips by DriverID, wasting RUs.

109
MCQeasy

A media company stores user profile images in Azure Blob Storage. Regulators require that the images cannot be deleted or overwritten for a period of 90 days after upload. Which Azure Blob Storage feature should the company enable to meet this requirement?

A.A: Soft delete
B.B: Immutable storage with a time-based retention policy
C.C: Access tiers (Hot, Cool, Archive)
D.D: Lifecycle management rules
AnswerB

Immutable storage with a time-based retention policy places a blob container into a write-once-read-many (WORM) state in which blobs cannot be modified or deleted by any user for the configured retention interval. Once the policy is enforced, even account administrators or privileged role holders cannot alter or remove the blobs; they can only extend the retention period, not shorten or remove it. This directly satisfies the requirement to prevent both deletion and overwriting of profile images, making it a compliant solution for legal or regulatory data protection.

Why this answer

Immutable storage with a time-based retention policy (also known as WORM – Write Once, Read Many) prevents blobs from being deleted or overwritten for a specified retention interval. By setting a 90-day policy, the company ensures that user profile images remain unmodifiable and undeletable during that period, directly satisfying the regulatory requirement.

Exam trap

The trap here is that candidates often confuse soft delete (which only recovers deleted blobs) with immutable storage (which prevents both deletion and overwrite during the retention period), leading them to choose soft delete when the requirement explicitly prohibits overwrites as well.

How to eliminate wrong answers

Option A is wrong because soft delete only protects blobs from accidental deletion by retaining them for a configurable period after deletion, but it does not prevent overwrites or guarantee immutability for a fixed duration. Option C is wrong because access tiers (Hot, Cool, Archive) control storage cost and retrieval latency based on data access patterns, but they offer no protection against deletion or overwrite. Option D is wrong because lifecycle management rules automate transitions between access tiers or deletion based on age or conditions, but they do not enforce a write-once, read-many (WORM) state that blocks modifications or deletions.

110
MCQeasy

Refer to the exhibit. You have a CSV file stored in Azure Blob Storage. You want to query this file using Azure Synapse Serverless SQL. Which OPENROWSET option should you use?

A.FORMAT = 'JSON'
B.FORMAT = 'PARQUET'
C.FORMAT = 'CSV'
D.FORMAT = 'DELTA'
AnswerC

CSV is the correct format because it matches the actual structure and encoding of the source file. FORMAT = 'CSV' tells the parser to read each line as a record and split it on commas (or a custom delimiter), handling quotes, headers, and line breaks appropriately. This is the only option that aligns with the file's real content.

Why this answer

OPENROWSET in Azure Synapse serverless SQL pools uses the FORMAT argument to tell the parser how to interpret the file. Since the file is a CSV, FORMAT = 'CSV' is the correct option — it invokes the CSV parser and allows you to specify FIELDTERMINATOR, ROWTERMINATOR, and FIRSTROW parameters. The other FORMAT values correspond to entirely different file structures and would cause parsing errors or empty result sets.

Exam trap

DP-900 often tests whether candidates confuse the file format argument with the data source type; the trap is picking PARQUET or JSON because those are 'modern' formats, when the question explicitly states the file is CSV.

How to eliminate wrong answers

Option A is wrong because FORMAT = 'JSON' expects a JSON document structure, and applying it to a CSV file would fail to parse or return nulls. Option B is wrong because FORMAT = 'PARQUET' expects a columnar Parquet file with embedded schema, which a CSV does not have. Option D is wrong because FORMAT = 'DELTA' expects a Delta Lake table directory with transaction logs (_delta_log), not a single CSV blob.

111
MCQhard

A data lake stores Parquet files in Azure Data Lake Storage Gen2, organized by date (e.g., /data/2023/01/15/). Analysts frequently run queries that filter on a specific date range. Which feature of Azure Data Lake Storage Gen2 directly enables efficient directory-level operations like renaming or moving entire date partitions without rewriting files?

A.Hierarchical namespace
B.Blob soft delete
C.Change feed
D.Immutable storage
AnswerA

The hierarchical namespace in Azure Data Lake Storage Gen2 supports POSIX-like directory semantics, enabling directory-level atomic operations such as rename and move. This means reorganizing partitions (e.g., moving a month's data between folders) is a single metadata operation, independent of the number of files, rather than a copy-and-delete per blob. It is the core feature that makes the data lake optimized for analytics and partition management.

Why this answer

The hierarchical namespace feature in Azure Data Lake Storage Gen2 enables true directory-level operations, such as renaming or moving entire partitions (e.g., /data/2023/01/15/), by treating directories as first-class objects. This allows atomic metadata operations without rewriting or copying the underlying Parquet files, which is essential for efficient partition management in data lake scenarios.

Exam trap

The trap here is that candidates often confuse the hierarchical namespace with general blob storage features like soft delete or change feed, mistakenly thinking those features provide directory-level management, when in fact only the hierarchical namespace enables atomic partition operations.

How to eliminate wrong answers

Option B is wrong because blob soft delete is a data protection feature that preserves deleted blobs for a retention period, not a mechanism for directory-level rename or move operations. Option C is wrong because the change feed provides a log of blob creation, modification, and deletion events for auditing or incremental processing, but it does not enable efficient directory-level operations. Option D is wrong because immutable storage (WORM policy) prevents blobs from being modified or deleted for a specified period, which would actually block the ability to rename or move partitions, not enable it.

112
MCQeasy

A company needs to store large amounts of unstructured data (videos and images) for a media streaming application. The data must be accessible via HTTP/HTTPS and support tiered storage for cost optimization. Which Azure storage solution should they choose?

A.Azure Disk Storage
B.Azure Blob Storage
C.Azure Table Storage
D.Azure Files
AnswerB

Azure Blob Storage stores unstructured data as objects accessible over HTTP/HTTPS, satisfying the media streaming requirement. Its hot, cool, cold and archive access tiers deliver the tiered storage needed for cost optimisation, unlike file or queue storage, which lack object semantics and comparable lifecycle tiering.

Why this answer

Azure Blob Storage (option B) is correct because it is Azure's object storage service designed for massive amounts of unstructured data such as videos and images, and it natively supports HTTP/HTTPS access as well as access tiers (Hot, Cool, Cold, Archive) for cost optimization. Azure Disk Storage (option A) provides block-level virtual hard disks for VMs and is not accessed via HTTP/HTTPS nor suited to tiered object storage. Azure Table Storage (option C) is a NoSQL key-attribute store for structured data, not large media files.

Azure Files (option D) offers SMB/NFS file shares rather than HTTP/HTTPS-accessible object storage with tiering.

113
MCQmedium

A travel booking application stores booking data in Azure Cosmos DB using the NoSQL API. Each booking document contains: BookingID (unique), UserID, Destination, TravelDate, Price. The most common query is: 'Retrieve all bookings for a specific UserID, sorted by TravelDate descending.' To minimize Request Unit (RU) consumption, which property should be chosen as the partition key?

A.BookingID
B.UserID
C.Destination
D.TravelDate
AnswerB

UserID is the filter in the dominant query, so partitioning on it routes each query to a single logical partition, avoiding cross-partition fan-out. BookingID would scatter a user's bookings across partitions, and sorting by TravelDate is served within the partition.

Why this answer

UserID is the correct partition key because the most common query filters on UserID, and Cosmos DB routes queries to the exact physical partition(s) containing that UserID's data. This minimizes cross-partition fan-out, reducing RU consumption. A partition key should align with the primary query filter to enable efficient point-read or single-partition query execution.

Exam trap

The trap here is that candidates often pick a high-cardinality key like BookingID or a date-based key like TravelDate, thinking uniqueness or time-ordering helps, but they ignore that the partition key must match the most frequent query filter to avoid cross-partition queries and high RU costs.

How to eliminate wrong answers

Option A (BookingID) is wrong because it would scatter each booking across partitions, forcing every query to fan out to all partitions to find bookings for a specific UserID, increasing RU cost. Option C (Destination) is wrong because queries filter by UserID, not Destination; using Destination would still require a cross-partition query unless the filter also included Destination, and it would not collocate all bookings for a single user. Option D (TravelDate) is wrong because it would spread a single user's bookings across many partitions (one per date), again causing cross-partition queries and high RU consumption for the common query pattern.

114
MCQeasy

A company stores customer reviews for an e-commerce site. Each review contains a product ID, user ID, rating, and optional comments and images. The reviews are written once and rarely updated. The company needs to query reviews by product ID with low latency and also perform simple key-value lookups. They want a cost-effective, serverless solution that requires no scaling management. Which Azure data store should they choose?

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

Azure Table Storage is a serverless, NoSQL key-value store that stores semi-structured data as entities, each uniquely addressable by a PartitionKey and RowKey. By using ProductID as the partition key, a customer review can be inserted and point-read with single-digit millisecond latency and no need to provision or manage compute, storage, or indexes. Billing is pay-per-request plus low per-GB storage cost, which makes it exceptionally cost-effective for high-volume, simple lookup scenarios like this.

Why this answer

Azure Table Storage is a cost-effective, serverless NoSQL key-value store that supports simple key-value lookups and querying by partition key (e.g., ProductID) with low latency. It requires no scaling management, as it automatically scales based on demand, and is ideal for immutable, rarely-updated data like customer reviews. The pay-per-request pricing model makes it highly cost-effective for this workload.

Exam trap

The trap here is that candidates often choose Azure Cosmos DB for any NoSQL scenario, overlooking that Azure Table Storage is the simpler, more cost-effective serverless option for basic key-value workloads without global distribution or complex querying needs.

Why the other options are wrong

A

Azure Cosmos DB SQL API is a globally distributed, multi-model database service that is more expensive and complex than needed for simple key-value lookups and low-latency queries by product ID. The scenario requires a cost-effective, serverless solution with no scaling management, which Azure Table Storage provides at a lower cost.

C

Azure Blob Storage is optimized for unstructured binary data like images and videos, not for structured key-value queries on text metadata. Querying by product ID would require scanning all blobs or maintaining a separate index, leading to higher latency and complexity.

D

Azure SQL Database is a relational database that requires provisioning and scaling management, and it is not serverless by default (though serverless tier exists, it's not the most cost-effective for simple key-value lookups and low-latency queries by product ID). The scenario's requirements for serverless, cost-effective, and no scaling management are better met by Azure Table Storage.

115
Drag & Dropmedium

Drag and drop the steps to configure a firewall rule for Azure SQL Database in the correct order.

Drag or tap steps into the slots.

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

Why this order

Firewall rules are set at the server level to allow client IP addresses to access the database.

116
MCQmedium

A manufacturing company collects sensor readings from thousands of IoT devices. Each reading consists of a device ID, a timestamp, and a numeric value. The data is stored as key-value pairs and must support low-latency reads and writes at a global scale. The company also needs to query the data by device ID and time range. Which Azure Cosmos DB API should they choose?

A.Core (SQL) API
B.MongoDB API
C.Table API
D.Gremlin API
AnswerC

The Table API is built for key-value workloads and stores data as items with a partition key and row key. It allows efficient point reads and range queries, making it ideal for IoT sensor data.

Why this answer

The Table API is the correct choice because it is designed for key-value workloads with a schema-less design, supporting low-latency reads and writes at global scale. It allows querying by partition key (device ID) and row key (timestamp) to efficiently retrieve data by device ID and time range, matching the IoT sensor data requirements.

Exam trap

The trap here is that candidates often choose the Core (SQL) API because they associate SQL with querying, but the Table API is specifically built for key-value and time-series workloads with composite key queries, which is the exact pattern described.

Why the other options are wrong

A

The Core (SQL) API uses a SQL-like query language and is optimized for document data models, not key-value pairs with device ID and timestamp queries. It does not natively support the low-latency global-scale key-value access pattern as efficiently as the Table API.

B

The MongoDB API is designed for document data with flexible schemas, not for key-value pairs with simple queries by device ID and time range. The Table API is optimized for key-value workloads and supports low-latency reads/writes at global scale.

D

The Gremlin API is designed for graph databases and queries involving relationships (edges and vertices), not for key-value or time-series data with simple queries by device ID and time range.

117
MCQmedium

A company stores customer support chat transcripts as plain text files in Azure Blob Storage. The files are accessed frequently for the first 30 days, then infrequently for the next 2 years, and after that must be retained for 7 years for compliance but are rarely accessed. The company wants to minimize storage costs by automatically moving data through appropriate access tiers. Which Azure Blob Storage lifecycle management policy should they implement?

A.Move blobs from Hot to Cool after 30 days, then to Archive after 2 years
B.Store all data in Hot tier for the full retention period
C.Move blobs from Hot to Archive after 30 days and delete after 2 years
D.Store all data in Cool tier for the first 30 days, then move to Archive
AnswerA

This policy correctly matches the access pattern: Hot tier for frequent initial access, Cool for infrequent intermediate access (still retained for 2 years but accessed rarely), and Archive for long-term compliance retention where data is rarely accessed and retrieval latency is acceptable.

Why this answer

The lifecycle management policy matches the access pattern: move blobs from Hot (frequent access for first 30 days) to Cool (infrequent access for next 2 years) after 30 days, then to Archive (rare access for 7-year compliance) after 2 years. This minimizes storage costs by using the cheapest tier for each phase while retaining data for the required 7-year compliance period.

Exam trap

The trap here is that candidates may overlook the rehydration latency of the Archive tier and incorrectly move data to Archive during a period of frequent access, or fail to account for the full compliance retention period when choosing deletion actions.

Why the other options are wrong

B

Storing all data in the Hot tier for the full retention period incurs high storage costs, especially for data that is infrequently accessed after 30 days and rarely accessed after 2 years. The Hot tier is optimized for frequent access, not for long-term, low-cost retention.

C

The policy deletes blobs after 2 years, but the requirement is to retain them for 7 years for compliance. Deleting after 2 years violates the retention policy.

D

The Cool tier is not optimal for the first 30 days of frequent access because Hot tier provides lower latency and higher throughput for frequent access, and the policy should start with Hot tier to minimize costs while meeting performance needs.

118
MCQmedium

A company stores terabytes of historical log data in Azure Blob Storage. The data is rarely accessed but must be retained for 10 years for compliance. The company wants to minimize storage costs. Which storage tier should you use?

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

Archive tier is the most cost-effective storage tier in Azure Blob Storage, designed specifically for long-term retention of data that is rarely accessed. For terabytes of historical log data, it offers the lowest storage price per GB, despite requiring manual rehydration (taking up to 15 hours) to retrieve. This aligns perfectly with the scenario's archival requirements, making it the correct choice.

Why this answer

The Archive tier is the correct choice because it is designed for data that is rarely accessed and has a flexible retrieval latency (hours), making it ideal for long-term retention of historical logs. It offers the lowest storage cost among Azure Blob Storage tiers, which directly minimizes costs for data that must be kept for 10 years but is seldom read.

Exam trap

The trap here is that candidates often confuse the Archive tier's low storage cost with immediate accessibility, forgetting that retrieval latency and rehydration costs apply, but the question explicitly states 'rarely accessed' and 'minimize storage costs,' making Archive the clear choice.

How to eliminate wrong answers

Option A is wrong because the Cool tier is optimized for data accessed infrequently (e.g., every 30 days) but still incurs higher storage costs than Archive and has a minimum storage duration of 30 days, making it less cost-effective for 10-year retention. Option C is wrong because the Hot tier is designed for frequently accessed data with the highest storage cost, which would unnecessarily increase expenses for rarely accessed logs. Option D is wrong because the Premium tier uses SSD-backed storage for low-latency, high-transaction workloads and is the most expensive option, completely unsuitable for archival data.

119
Matchingmedium

Match each Azure SQL Database tier to its description.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Low-cost for small workloads

Balanced performance and cost

High performance and low latency

Highly scalable for large databases

Auto-scaling compute based on demand

Why these pairings

Azure SQL Database tiers: Basic (low-cost, small), Standard (mid-range, predictable), Premium (high-performance, mission-critical), Hyperscale (large, scalable). Common confusions: mixing Premium and Basic, or Standard and Hyperscale.

120
MCQhard

A logistics company tracks shipments. For each shipment, metadata (ID, weight, destination) is stored in a relational table. The route history is a sequence of events (timestamp, location, status) that is frequently appended but never updated or deleted. The application needs to quickly retrieve the latest status of a shipment and occasionally run analytical queries over the full route history. The company wants to minimize storage cost and use Azure services. Which Azure data store should they choose for the route history?

A.Azure Cosmos DB Core (SQL) API
B.Azure Table Storage
C.Azure Blob Storage with append blobs
D.Azure SQL Database with a JSON column
AnswerC

Append blobs are an Azure Blob Storage variant purpose-built for high-frequency append operations: each append writes a new block at the end without modifying existing data, making them ideal for shipment tracking logs. They provide low-cost, immutable storage, and using Azure Data Lake Storage Gen2 or serverless SQL, you can run queries over the entire blob to reconstruct the full route history. Unlike the other options, append blobs give you native append semantics, no per-event write cost beyond storage, and direct integration with analytics tools.

Why this answer

Azure Blob Storage with append blobs is the correct choice because route history is write-once, read-many (WORM) data that is frequently appended but never modified or deleted. Append blobs are optimized for sequential append operations, offering low-cost storage for large volumes of event data, and they support fast retrieval of the latest status by reading the last block. This minimizes storage cost while allowing occasional analytical queries over the full history via Azure Synapse or other analytics services.

Exam trap

The trap here is that candidates often choose Azure Cosmos DB or Azure SQL Database because they associate 'fast retrieval' with transactional databases, overlooking that append blobs provide both low-cost storage and efficient last-block retrieval for append-only event sequences.

Why the other options are wrong

A

Cosmos DB is optimized for low-latency reads and writes with flexible schemas, but it is more expensive than Blob Storage for append-only, rarely queried data. The question prioritizes minimizing storage cost, making Cosmos DB unsuitable.

B

Azure Table Storage is a NoSQL key-value store optimized for point queries and high-volume structured data, but it does not support append-only blobs or efficient append operations for sequence-of-events data. It also lacks the analytical query capabilities needed for occasional full route history analysis, and its storage cost for large append-heavy data is higher than blob storage.

D

Azure SQL Database with a JSON column is not optimal for frequently appended, never-updated route history because it incurs higher storage costs and transactional overhead compared to Azure Blob Storage append blobs, and it is not designed for high-throughput append-only workloads.

121
MCQmedium

A mobile app stores user preferences as JSON documents in Azure Cosmos DB. The document includes userId, theme, language, and notification settings. The most common query retrieves the document for a specific userId. To minimize cost and ensure even distribution, which property should be chosen as the partition key?

A.userId
B.theme
C.language
D.a concatenation of userId and language
AnswerA

Using userId as the partition key is correct because it has high cardinality — each user has a unique ID, so every document maps to a distinct logical partition. This evenly spreads data across the physical partitions, preventing hot spots. It also makes point reads by userId highly efficient: the container can route directly to the partition containing that document, typically consuming a minimal number of Request Units (RUs) and delivering low-latency lookups.

Why this answer

The userId property is the ideal partition key because it provides high cardinality (each user has a unique ID) and ensures even request distribution across physical partitions. Since the most common query retrieves a document by userId, using it as the partition key makes those queries point reads (single-partition queries), which are the most cost-efficient and fastest in Azure Cosmos DB.

Exam trap

The trap here is that candidates often choose a concatenated key (option D) thinking it adds uniqueness or query flexibility, but Azure Cosmos DB's partition key design favors a single high-cardinality attribute for even distribution and simple point reads.

How to eliminate wrong answers

Option B (theme) is wrong because theme has low cardinality (only a few possible values like 'light' or 'dark'), leading to hot partitions and uneven data distribution. Option C (language) is wrong because language also has low cardinality (e.g., 'en', 'fr', 'es'), causing similar skew and throttling under load. Option D (a concatenation of userId and language) is wrong because it adds unnecessary complexity without benefit—userId alone already provides unique document identification and even distribution, and concatenation would increase storage overhead and partition key size (up to 2 KB limit) without improving query performance.

122
MCQmedium

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

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

Partitioning on GameID co-locates every score for one game in a single logical partition, so the query reads one partition and returns results already ordered by score, avoiding cross-partition fan-out that inflates Request Unit consumption.

Why this answer

GameID is the correct partition key because the most common query filters on GameID, and Cosmos DB routes queries to the exact physical partition(s) containing that GameID. This avoids cross-partition fan-out, minimizing RU consumption. A partition key that matches the query filter ensures efficient index lookup and data retrieval.

Exam trap

The trap here is that candidates often pick PlayerID thinking it uniquely identifies each player, but they overlook that the query filters on GameID, making GameID the only partition key that avoids cross-partition queries and minimizes RU consumption.

How to eliminate wrong answers

Option A (PlayerID) is wrong because it would scatter scores for the same game across multiple partitions, forcing a cross-partition query that scans all partitions and increases RU cost. Option C (Score) is wrong because it is a high-cardinality, frequently updated value that can cause hot partitions and does not align with the query filter on GameID. Option D (Timestamp) is wrong because it would distribute data by time, not by game, so querying for a specific game would still require scanning all partitions.

123
MCQhard

A company stores IoT sensor data in Azure Table Storage. The data is accessed frequently for the first 30 days, then rarely. You need to minimize storage costs while ensuring data is available for queries within 24 hours of a request. What should you implement?

A.Configure a lifecycle management policy on the Table Storage account to move data to Cool tier after 30 days.
B.Store all data in Azure SQL Database and use index maintenance to improve query performance.
C.Migrate the data to Azure Cosmos DB and use Time-to-Live (TTL) to expire old data.
D.Move data older than 30 days to Azure Blob Storage Cool tier and use an Azure Data Factory pipeline to copy data back to Table Storage when requested.
AnswerD

This pattern uses Blob Storage's Cool tier, which is priced for infrequently accessed data, to hold IoT records older than 30 days while keeping them readily retrievable. An Azure Data Factory pipeline can copy the requested entities from the Cool-tier blobs back into Azure Table Storage on demand, restoring them for queries without requiring the data to stay in the high-priced table tier. This optimizes cost while maintaining availability, typically within the Cool tier's 24-hour retrieval-time SLA.

Why this answer

Azure Table Storage does not support tiering (Hot/Cool/Archive) — it is a single-tier, NoSQL key-attribute store. To reduce cost for cold data while keeping it queryable, the standard pattern is to offload aged data to Blob Storage Cool tier (cheaper per GB) and use Azure Data Factory to copy it back on demand, satisfying the 24-hour retrieval SLA. This matches the question's requirement of minimizing cost with delayed availability.

Exam trap

The trap here is assuming that because Blob Storage supports lifecycle tiering, Table Storage does too — candidates who don't know Table Storage is single-tier pick the 'move to Cool tier' option.

How to eliminate wrong answers

Option A is wrong because Azure Table Storage has no Cool or Archive access tiers — lifecycle management policies that move data between hot/cool/archive tiers apply to Blob Storage (and Azure Files), not Table Storage. Option B is wrong because Azure SQL Database is a relational PaaS database, not a cost-optimized store for high-volume IoT telemetry, and index maintenance does not address storage cost tiering. Option C is wrong because Cosmos DB TTL deletes expired items rather than archiving them, which violates the requirement to keep data available for later queries.

124
Multi-Selectmedium

Which TWO Azure services can be used to store non-relational data? (Choose two.)

Select 2 answers
A.Azure Cosmos DB
B.Azure SQL Database
C.Azure Synapse Analytics
D.Azure Database for MySQL
E.Azure Table Storage
AnswersA, E

Azure Cosmos DB is a globally distributed, multi-model NoSQL database supporting document, key-value, graph and column-family APIs. Its schema-agnostic design satisfies the non-relational requirement, unlike Azure SQL Database, which enforces relational tables, schemas and joins.

Why this answer

Azure Cosmos DB (A) is correct because it is Microsoft's globally distributed, multi-model NoSQL database service that natively stores non-relational data such as documents, key-value pairs, graphs, and column-family data. Azure Table Storage (E) is also correct because it is a NoSQL key-attribute store designed for storing large amounts of non-relational structured data (entities with partition key and row key) at low cost. Azure SQL Database (B) is a relational PaaS database engine using T-SQL, so it stores relational data, not non-relational.

Azure Synapse Analytics (C) is an analytics service built on relational MPP (massively parallel processing) SQL pools and Spark, primarily for data warehousing and analytics rather than non-relational storage. Azure Database for MySQL (D) is a managed relational MySQL database, so it stores relational data in tables with schemas and foreign keys.

125
MCQmedium

A manufacturing company stores IoT sensor data as JSON documents in Azure Cosmos DB. Each document has fields: deviceId (high cardinality, many unique values), timestamp, temperature, and humidity. The most frequent query is: 'Retrieve all readings for a specific deviceId from the last hour.' To minimize Request Unit (RU) consumption, which combination of partition key and indexing policy should be chosen?

A.Partition key: deviceId, Indexing: automatic on all properties
B.Partition key: timestamp, Indexing: automatic on all properties
C.Partition key: deviceId, Indexing: none
D.Partition key: temperature, Indexing: automatic on all properties
AnswerA

Choosing deviceId as the partition key is optimal because it has high cardinality and aligns directly with the query's equality filter (WHERE deviceId = ?). Automatic indexing on all properties ensures the timestamp field is indexed, so the time-range filter within the selected partition uses a precise index seek rather than a scan, minimizing request-unit (RU) consumption. This combination targets a single physical partition and uses an index for the most selective predicates, making it the most efficient design for this IoT workload.

Why this answer

DeviceId is the most frequently filtered attribute (in the WHERE clause), making it an ideal partition key that ensures queries are scoped to a single physical partition, minimizing cross-partition fan-out. Automatic indexing on all properties allows efficient filtering on timestamp within the partition, while the index on deviceId is not strictly needed since the partition key itself routes the query, but it does not harm RU consumption significantly. This combination balances query performance and RU cost for the described workload.

Exam trap

The trap here is that candidates often pick timestamp as the partition key because it seems logical for time-range queries, but they overlook that the most frequent query filters on deviceId, making deviceId the correct partition key to avoid cross-partition queries.

How to eliminate wrong answers

Option B is wrong because timestamp as a partition key would cause each query for a specific deviceId to scatter across all partitions (since the same deviceId's data spans many timestamps), resulting in high RU consumption due to cross-partition queries. Option C is wrong because setting indexing to 'none' would force full scans of all documents within the partition for the timestamp filter, dramatically increasing RU cost compared to using an index. Option D is wrong because temperature has low cardinality (few unique values) and is not used in the WHERE clause, leading to hot partitions and inefficient query routing.

126
MCQeasy

A media company needs to store thousands of high-resolution videos. Each video is up to 10 GB in size and must be accessible via HTTP/HTTPS URLs for playback. The company does not require a file system hierarchy or SMB protocol support. Which Azure storage solution is most appropriate for this scenario?

A.Azure Blob Storage
B.Azure Files
C.Azure Queue Storage
D.Azure Table Storage
AnswerA

Azure Blob Storage is the correct choice because it is purpose-built for storing massive amounts of unstructured data, such as high-resolution video files. Blobs are accessible via HTTP/HTTPS URLs, enabling direct streaming and integration with Azure CDN for low-latency delivery. The service scales to petabytes and supports tiers like Hot, Cool, and Archive, making it both cost-effective and performant for media workloads.

Why this answer

Azure Blob Storage is designed for storing massive amounts of unstructured data, such as high-resolution videos, and provides HTTP/HTTPS access via URLs. It supports objects up to 4.77 TiB (or larger with premium block blobs), easily accommodating 10 GB files, and offers no file system hierarchy or SMB protocol, matching the company's requirements exactly.

Exam trap

The trap here is that candidates may confuse Azure Files (which supports SMB) with general file storage, but the question explicitly rules out SMB and file hierarchy, making Blob Storage the correct choice for HTTP/HTTPS-accessible binary objects.

How to eliminate wrong answers

Option B is wrong because Azure Files provides SMB and NFS protocol support and a file system hierarchy, which the company explicitly does not require. Option C is wrong because Azure Queue Storage is a messaging service for asynchronous communication between application components, not for storing or serving video files. Option D is wrong because Azure Table Storage is a NoSQL key-value store for structured data, not designed for large binary objects like videos.

127
MCQmedium

A hospital stores patient vital signs data in Azure Cosmos DB. Each document contains PatientID, Timestamp, HeartRate, BloodPressure, and other measurements. The most common query retrieves all vital signs for a specific patient within a time range (e.g., last 24 hours). Which property should be chosen as the partition key to minimize Request Unit (RU) consumption and ensure even data distribution?

A.PatientID
B.Timestamp
C.HeartRate
D.BloodPressure
AnswerA

PatientID is an ideal partition key because it is the natural filtering attribute for the most common query: retrieving all vital signs for a specific patient. It has high cardinality, since each patient has a unique identifier, so data is spread evenly across logical partitions. Queries that include PatientID are single-partition queries, which are the fastest and most cost-effective in Azure Cosmos DB, avoiding cross-partition fan-out.

Why this answer

PatientID is the ideal partition key because the most common query filters by PatientID and a time range. With PatientID as the partition key, Cosmos DB can route the query to a single physical partition containing all documents for that patient, minimizing cross-partition queries and reducing RU consumption. It also ensures even data distribution since each patient generates a similar volume of vital signs data, avoiding hot partitions.

Exam trap

Microsoft often tests the misconception that Timestamp is a good partition key for time-based queries, but candidates fail to realize that Timestamp causes hot partitions and does not distribute write load evenly.

How to eliminate wrong answers

Option B (Timestamp) is wrong because using Timestamp as the partition key would cause all writes for the same time window to land on a single partition, creating a hot partition and increasing RU costs due to throttling; it also makes range queries across patients inefficient. Option C (HeartRate) is wrong because HeartRate has low cardinality (e.g., 30–250 bpm), leading to a small number of logical partitions that cannot be evenly distributed across physical partitions, causing storage and throughput imbalances. Option D (BloodPressure) is wrong because BloodPressure values are also low cardinality and often repeated across patients, resulting in uneven data distribution and poor query performance when filtering by patient and time.

128
MCQeasy

A company needs to store archived log files that are rarely accessed but must be retained for regulatory compliance. The logs are text-based and each file is about 10 MB. They want the lowest storage cost while ensuring the data is durable and can be read when needed. Which Azure Blob Storage access tier should they choose?

A.Hot
B.Cool
C.Cold
D.Archive
AnswerD

Archive is an offline tier with the lowest storage cost in Azure Blob Storage, specifically built for long-term retention of data that is rarely accessed. To read archived log files, you first rehydrate them to an online tier, a process that typically takes minutes to hours, but that latency is completely acceptable given the access pattern described. This combination of minimal cost and the ability to eventually retrieve the data makes Archive the correct choice.

Why this answer

The Archive tier is the correct choice because it offers the lowest storage cost for data that is rarely accessed and must be retained for long periods. Archived log files that are text-based and 10 MB each fit this profile perfectly, as the Archive tier is designed for data that can tolerate a retrieval latency of several hours (up to 15 hours for standard priority) while providing the same high durability (99.9999999999% or 11 nines) as other tiers. The data remains fully durable and can be read when needed by first rehydrating it to an online tier (Hot, Cool, or Cold) before access.

Exam trap

The trap here is that candidates often confuse 'Cold' with 'Archive' because both are low-cost tiers, but Cold is still an online tier with immediate access and higher cost, while Archive is the only offline tier designed for true archival storage with the lowest cost but significant retrieval latency.

How to eliminate wrong answers

Option A (Hot) is wrong because it is optimized for frequent access and has the highest storage cost, making it unsuitable for rarely accessed archived data. Option B (Cool) is wrong because it is designed for data accessed infrequently (about once a month) but still incurs higher storage costs than Archive, and it is not the lowest-cost option for long-term retention. Option C (Cold) is wrong because, while it is a lower-cost tier for infrequent access with a 30-day minimum storage period, it still costs more than Archive and is intended for data that may be accessed occasionally, not for rarely accessed archival data.

129
MCQmedium

A retail company is designing a product catalog for its e-commerce website. Each product has a unique ProductID, a name, a price, and a variable number of attributes (e.g., size, color, weight) that differ across product categories. The application requires ability to read a product's details by ProductID with single-digit millisecond latency from any Azure region globally. The schema must be flexible to accommodate new attributes without schema changes. Which Azure data store should the company choose?

A.Azure Cosmos DB using the NoSQL API
B.Azure Table Storage
C.Azure SQL Database
D.Azure Blob Storage
AnswerA

Azure Cosmos DB using the NoSQL API is the correct choice because it provides schema-agnostic document storage that adapts to varying product attributes without migrations. It also guarantees single-digit millisecond latency for point reads (under 10 ms) at any scale, supported by a 99.999% availability SLA. Its turnkey global distribution allows replicas across Azure regions, ensuring low-latency access for e-commerce customers worldwide, and the SQL-like query engine supports rich filtering and projection over flexible JSON documents.

Why this answer

Azure Cosmos DB with the NoSQL API is correct because it provides a fully managed, globally distributed NoSQL database that supports flexible schemas (allowing variable product attributes without schema changes) and guarantees single-digit millisecond read latency at any scale from any Azure region via its multi-region write and read replicas. The unique ProductID serves as a natural partition key, enabling efficient point reads with consistent low latency.

Exam trap

The trap here is that candidates often confuse Azure Table Storage's flexible schema and global distribution with Cosmos DB's performance guarantees, overlooking the specific single-digit millisecond latency requirement that only Cosmos DB can consistently meet across all regions.

How to eliminate wrong answers

Option B (Azure Table Storage) is wrong because while it offers a flexible schema and global distribution, it does not guarantee single-digit millisecond latency for point reads across regions; its latency is typically higher and less consistent than Cosmos DB. Option C (Azure SQL Database) is wrong because it enforces a fixed relational schema, requiring schema changes (ALTER TABLE) to add new product attributes, and its global read latency is not optimized for single-digit millisecond reads from any region without complex geo-replication setups. Option D (Azure Blob Storage) is wrong because it is an object store for unstructured blobs, not a database; it lacks native query capabilities for individual product details by ID and cannot provide single-digit millisecond read latency for structured data access.

130
MCQeasy

A social media application stores user sessions as JSON documents. Each session document has fields like sessionId, userId, startTime, endTime, and a list of pageviews. The application needs to quickly retrieve a session by its sessionId and also run queries like 'find all sessions for a user in the last 24 hours' using SQL-like syntax. The data has no fixed schema; different sessions may include additional optional fields like 'deviceType' or 'promotionCode'. Which Azure data store should the company use?

A.Azure Cosmos DB with SQL API
B.Azure Table Storage
C.Azure SQL Database
D.Azure Blob Storage
AnswerA

Azure Cosmos DB with SQL API natively stores JSON documents as its core data model, making it schema-agnostic so user sessions with varying fields can be ingested without any upfront schema design. It automatically indexes every JSON property by default, and its SQL-like query language can directly filter, project, and traverse nested objects—for example, WHERE sessionId = @id. Combined with single-digit-millisecond latency for point reads and horizontal partitioning, it is specifically engineered to serve flexible, queryable session data at global scale.

Why this answer

Azure Cosmos DB with SQL API is the correct choice because it natively supports storing JSON documents with flexible schemas, allows fast point reads by sessionId using a unique identifier, and enables SQL-like queries (e.g., filtering by userId and startTime) with automatic indexing. Its schema-agnostic design handles optional fields like deviceType or promotionCode without requiring schema changes, and it provides low-latency reads essential for real-time session retrieval.

Exam trap

The trap here is that candidates often confuse Azure Table Storage's key-value simplicity with JSON document support, but Table Storage does not provide SQL-like querying or native JSON handling, making Cosmos DB the only option that combines flexible schema, SQL syntax, and fast point reads.

Why the other options are wrong

B

Azure Table Storage does not support SQL-like query syntax or JSON documents natively; it uses OData and requires a fixed schema for partition and row keys, making it unsuitable for schema-less JSON sessions and complex queries like 'find all sessions for a user in the last 24 hours'.

C

Azure SQL Database enforces a fixed schema, but the question states that session documents have no fixed schema and may include additional optional fields. It also requires SQL-like queries on JSON documents, which Azure SQL Database supports, but the lack of schema flexibility makes it unsuitable for this use case.

D

Azure Blob Storage is optimized for unstructured binary or text data, not for querying JSON documents with SQL-like syntax or indexing on fields like sessionId and userId. It lacks native support for complex queries and schema flexibility required for this use case.

131
MCQmedium

A social media application stores user posts in Azure Cosmos DB using the NoSQL API. Each document includes: PostID (unique), UserID, Timestamp, Content. The most common query is: 'Get all posts for a specific UserID, sorted by Timestamp descending.' Which partition key should be chosen to distribute load evenly across physical partitions while also supporting this query efficiently?

A.PostID
B.UserID
C.Timestamp
D.Content
AnswerB

UserID is the ideal partition key because all posts belonging to the same user are colocated in a single logical partition, allowing the query for a user's posts to be served from one partition with minimal request units and low latency. Since the application has many users, data is spread evenly across physical partitions, preventing hot spots. Additionally, using UserID aligns with the natural query pattern and enables efficient pagination of results.

Why this answer

UserID is the correct partition key because it evenly distributes write operations across physical partitions (each user has a unique ID) and directly supports the most common query: filtering by UserID. With UserID as the partition key, the query 'Get all posts for a specific UserID, sorted by Timestamp descending' becomes a single-partition query (using the partition key in the WHERE clause), which is efficient and avoids cross-partition fan-out. This design also allows Cosmos DB to use the Timestamp field as a sort key within each logical partition, enabling efficient sorting without additional indexing overhead.

Exam trap

The trap here is that candidates often choose a unique identifier like PostID (Option A) thinking it guarantees even distribution, but they overlook that the partition key must also match the most frequent query filter to avoid cross-partition queries and high RU costs.

How to eliminate wrong answers

Option A is wrong because PostID is unique per document, which would create a separate logical partition for each post, leading to an extremely high number of small partitions and poor query performance for the common query (which filters by UserID, not PostID). Option C is wrong because Timestamp is a high-cardinality, monotonically increasing value; using it as a partition key would cause all new posts to land on a single hot partition (the latest timestamp), creating a throughput bottleneck and uneven load distribution. Option D is wrong because Content is a large, variable-length string with no guarantee of even distribution; it would result in unpredictable partition sizes and cannot efficiently support the required filter on UserID.

132
MCQeasy

You are storing log files from multiple applications in Azure Blob Storage. Each log file is a text file with timestamp data. You need to query logs for a specific date range using SQL. Which Azure service can query these files directly?

A.Azure Stream Analytics
B.Azure Data Lake Storage
C.Azure Synapse Serverless SQL
D.Azure Analysis Services
AnswerC

Azure Synapse Serverless SQL is an on-demand query engine that uses T-SQL and OPENROWSET to query files directly from Blob Storage or Azure Data Lake Storage Gen2 without provisioning dedicated compute. It supports various file formats such as Parquet, CSV, and JSON, and charges per query based on bytes scanned. This enables interactive, schema-on-read analysis of log files, exactly matching the requirement to query stored log files.

Why this answer

Azure Synapse Serverless SQL pool can query text files in Azure Blob Storage directly using T-SQL with OPENROWSET or external tables, without loading the data. It supports querying CSV, JSON, and Parquet files and can filter by timestamp columns. This makes it ideal for ad-hoc SQL queries over log files stored in Blob Storage.

Exam trap

DP-900 often tests the difference between storage, stream processing, and query engines; candidates pick Data Lake Storage because it stores the files, but the question asks for a service that can query them with SQL.

How to eliminate wrong answers

Option A is wrong because Azure Stream Analytics is designed for real-time stream processing from sources like Event Hubs or IoT Hub, not for querying static text files in Blob Storage with SQL. Option B is wrong because Azure Data Lake Storage is a storage service, not a query engine; it provides hierarchical namespace but does not execute SQL queries. Option D is wrong because Azure Analysis Services is an OLAP engine for semantic models and tabular data, not for querying raw text files in Blob Storage.

133
MCQmedium

A social media application stores user profiles as JSON documents. Each profile has standard fields like userId, name, and email, but also optional fields such as education and work history. The application needs to query profiles by userId with low latency and also run SQL-like queries to find all profiles with a specific work history value. Which Azure Cosmos DB API should they choose?

A.SQL (Core) API
B.MongoDB API
C.Gremlin (Graph) API
D.Table API
AnswerA

Azure Cosmos DB SQL (Core) API is a document model that natively stores JSON documents and exposes a SQL-enabled query language specifically designed to query those documents. It automatically indexes every property within the JSON, allowing flexible queries on optional and nested fields, which is ideal for a social media app's user profiles that vary in structure. Because it supports SQL-like syntax that can filter on userId and any other key with minimal effort, it best matches the requirement for querying JSON profiles.

Why this answer

The SQL (Core) API is the correct choice because it natively supports querying JSON documents with SQL-like syntax, enabling both low-latency point reads by userId and complex queries on nested fields like work history. It provides automatic indexing of all JSON properties, which ensures efficient execution of queries across optional fields without requiring schema management.

Exam trap

The trap here is that candidates often choose the MongoDB API because they associate JSON documents with MongoDB, but the question explicitly requires SQL-like queries, which is a native feature of the Core API and not MongoDB's query syntax.

Why the other options are wrong

B

The MongoDB API is designed for MongoDB wire protocol compatibility, not for native SQL-like queries. While it supports JSON documents, it cannot run SQL queries directly, which the application requires.

C

The Gremlin (Graph) API is designed for graph data models with nodes and edges, not for JSON documents with optional fields. Querying by userId and running SQL-like queries on nested JSON is better suited to the SQL (Core) API.

D

The Table API is designed for key-value and tabular data with a fixed schema, not for JSON documents with optional fields. It does not support SQL-like queries on nested JSON properties like work history.

134
MCQeasy

A company is migrating on-premises Hadoop HDFS data to Azure. They want to keep the same file system semantics for compatibility with existing analytics jobs. Which Azure storage solution should they use?

A.Azure Blob Storage
B.Azure SQL Database
C.Azure Data Lake Storage Gen2
D.Azure Cosmos DB
AnswerC

Azure Data Lake Storage Gen2 (ADLS Gen2) is the correct migration target because it is built on Azure Blob Storage but adds a hierarchical namespace that mirrors HDFS. It exposes a native HDFS-compatible ABFS driver plus a REST API, enabling Hadoop, Spark, and Databricks to read and write data with full file-system semantics like atomic rename and POSIX file permissions. ADLS Gen2 is specifically designed for big data analytics and is the Azure service that most closely and natively replaces an on-premises Hadoop HDFS cluster.

Why this answer

Azure Data Lake Storage Gen2 (ADLS Gen2) is built on top of Blob Storage but adds a hierarchical namespace, which provides true directory and file semantics compatible with Hadoop HDFS. This means existing analytics jobs that expect HDFS-style paths (for example, abfss://container@account.dfs.core.windows.net/path) can run with minimal changes, and tools like Azure Databricks, HDInsight, and Synapse Spark can access the data natively.

Exam trap

DP-900 often tests the distinction between Blob Storage (flat namespace, no HDFS semantics) and ADLS Gen2 (hierarchical namespace, HDFS-compatible) — candidates who pick Blob Storage miss the keyword 'same file system semantics' in the question.

How to eliminate wrong answers

Option A is wrong because plain Blob Storage uses a flat namespace where directories are simulated by naming conventions (slashes in blob names); this breaks HDFS semantics such as atomic directory renames and true directory-level ACLs, which many analytics jobs depend on. Option B is wrong because Azure SQL Database is a relational database engine, not a file system — it cannot store or serve HDFS-style file data for analytics jobs. Option D is wrong because Azure Cosmos DB is a globally distributed NoSQL database for document, key-value, graph, and column-family data; it has no HDFS-compatible file system interface.

135
MCQmedium

A company develops an IoT device registry that stores device metadata as JSON documents. Each device has a unique DeviceID, and the attributes vary per device type (e.g., sensors, actuators). The application requires low-latency reads by DeviceID and needs global distribution to support devices worldwide. The team wants to use a fully managed NoSQL database in Azure. Which API should they choose for Azure Cosmos DB?

A.SQL API
B.MongoDB API
C.Cassandra API
D.Table API
AnswerA

The Core (SQL) API is Cosmos DB's native API, storing documents as JSON and integrating directly with the underlying index and partitioning engine. It supports rich SQL-based querying, including nested attributes and server-side JavaScript, making it ideal for a device registry with variable schema. Point reads by device ID leverage the partition key and a physical index, providing the lowest and most predictable latency. Being the native API, it also enjoys first-class support for global distribution, consistency levels, and throughput management.

Why this answer

The SQL API (formerly DocumentDB API) is the native API for Azure Cosmos DB, providing full support for querying JSON documents with a SQL-like syntax. It offers the lowest latency reads by ID (point reads) and native global distribution, making it ideal for a device registry where each device has a unique DeviceID and variable attributes. The SQL API also supports indexing all properties automatically, which is critical for the varied device types.

Exam trap

The trap here is that candidates often choose the MongoDB API because they associate JSON documents with MongoDB, but the SQL API is the native Cosmos DB API that provides the best performance and feature integration for JSON workloads on Azure.

How to eliminate wrong answers

Option B (MongoDB API) is wrong because while it supports JSON documents and global distribution, it introduces unnecessary protocol overhead and is designed for MongoDB ecosystem compatibility, not for optimal point reads by ID with automatic indexing of all attributes. Option C (Cassandra API) is wrong because it uses a wide-column store model with a CQL interface, which is not optimized for JSON document storage and requires defining a schema for partition keys and clustering columns, conflicting with the requirement for variable attributes per device type. Option D (Table API) is wrong because it is designed for key-value and tabular data with a flat schema, not for nested JSON documents with varying attributes, and it lacks the rich query capabilities needed for the device registry.

136
MCQhard

A logistics company stores sensor data from delivery trucks in Azure Table Storage. Each sensor reading includes a TruckID, Timestamp, Location, and EngineTemperature. The most common query retrieves all readings for all trucks within a specific one-hour time window (e.g., between 10:00 and 11:00 on a given day). Currently, the table uses PartitionKey = TruckID and RowKey = Timestamp (ISO format). However, queries filtering by time range are slow and consume many transactions. Which design change will most improve the performance of these time-range queries?

A.Change PartitionKey to a date-based value (e.g., YYYY-MM-DD) and RowKey to a composite of TruckID and Timestamp.
B.Change RowKey to be a composite of TruckID and Timestamp while keeping PartitionKey as TruckID.
C.Use Azure Cosmos DB with a partition key on Timestamp instead of Azure Table Storage.
D.Enable indexing on the Timestamp column in Azure Table Storage.
AnswerA

Changing the PartitionKey to a date-based value such as YYYY-MM-DD groups all telemetry from every truck for a single day into one partition. Because Azure Table Storage stores rows together by PartitionKey, a query that filters on a date range (e.g., the last 24 hours) will scan exactly one partition, drastically reducing read transactions and lowering cost. The RowKey is then a composite of TruckID and Timestamp, which preserves truck-level granularity and enables efficient sorting and filtering within that day's partition. This design directly aligns the queried time range with the partition structure, which is the optimal way to handle time-range queries in Table Storage.

Why this answer

Azure Table Storage queries are most efficient when they target a specific PartitionKey and a range of RowKey values. By setting PartitionKey to a date-based value (e.g., YYYY-MM-DD), all readings for a given day are co-located in the same partition. Then, using a composite RowKey of TruckID and Timestamp allows the query to filter by time range within that partition using a single partition scan, drastically reducing the number of transactions and improving performance.

Exam trap

The trap here is that candidates often assume indexing on a column (like Timestamp) will speed up queries in Azure Table Storage, but Azure Table Storage does not support secondary indexes—only the PartitionKey and RowKey are indexed, so the only way to optimize time-range queries is to redesign the key schema to include the time dimension in the PartitionKey or RowKey.

How to eliminate wrong answers

Option B is wrong because keeping PartitionKey as TruckID scatters each truck's data across many partitions (one per truck), so a time-range query across all trucks would require a full table scan (querying every partition), which is slow and consumes many transactions. Option C is wrong because migrating to Azure Cosmos DB is not a design change to the existing Azure Table Storage schema; it introduces unnecessary cost and complexity, and the question asks for a design change to the current storage solution, not a migration. Option D is wrong because Azure Table Storage does not support secondary indexes on arbitrary columns; indexing is only available on PartitionKey and RowKey, so enabling indexing on Timestamp is not a valid operation in Azure Table Storage.

137
Matchingmedium

Match each Azure storage redundancy option to its description.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Locally redundant storage within a single datacenter

Zone-redundant storage across availability zones

Geo-redundant storage with cross-region replication

Read-access geo-redundant storage

Geo-zone-redundant storage

Why these pairings

Azure storage redundancy options differ in durability and availability. LRS is cost-effective, ZRS protects against zone failures, GRS adds geo-replication, and RA-GRS enables read access to the secondary region.

138
MCQmedium

You are designing a solution to store large binary files (videos) for a media company. The solution must support tiered storage to optimize costs based on access frequency. Which Azure storage option should you use?

A.Azure Cosmos DB
B.Azure Files
C.Azure Blob Storage
D.Azure Disk Storage
AnswerC

Azure Blob Storage is a massively scalable object storage service designed specifically for unstructured data such as large binary files. It provides per-blob access tiers — hot, cool, cold, and archive — so you can place data in the tier that matches its access frequency and drastically reduce storage costs. Blob Storage offers REST-based access, high durability, and lifecycle policies that automatically move blobs between tiers, making it the correct choice for storing large binaries like videos, backups, or datasets.

Why this answer

Azure Blob Storage is the correct choice because it is designed for storing large unstructured binary data (videos, images, documents) and supports tiered storage — Hot, Cool, Cold, and Archive access tiers — to optimize costs based on access frequency. Cosmos DB is a NoSQL database, Azure Files is a managed SMB/NFS file share, and Azure Disk Storage provides block-level disks for VMs, none of which offer blob-specific tiering for large media files.

Exam trap

The trap is confusing Azure's storage services — candidates may pick Azure Files because it sounds like a file store, or Cosmos DB because it is a database, but only Blob Storage supports the access-tier model required for cost-optimized large binary storage.

How to eliminate wrong answers

Option A is wrong because Azure Cosmos DB is a globally distributed NoSQL database for structured/semi-structured data, not for storing large binary video files, and it does not offer blob-style access tiers. Option B is wrong because Azure Files provides SMB/NFS file shares for lift-and-shift workloads, not optimized for large-scale media streaming or tiered blob storage. Option D is wrong because Azure Disk Storage provides managed block-level disks attached to VMs, not a scalable object store with access-tier cost optimization.

139
Multi-Selecthard

Which THREE factors should you consider when choosing between Azure Blob Storage and Azure Cosmos DB for a new application? (Choose three.)

Select 3 answers
A.Global distribution and multi-region writes
B.Data structure (unstructured vs. semi-structured)
C.Encryption at rest support
D.Scalability limits
E.Query capabilities (simple key-value vs. complex queries)
AnswersA, B, E

Azure Cosmos DB is a globally distributed database service with turnkey multi-region replication and support for multi-region writes, ensuring low-latency writes and reads anywhere in the world. Azure Blob Storage is a single-region storage service that offers only asynchronous geo-redundant replication (GRS) and does not support active writes from multiple regions. This directly affects disaster recovery, availability, and user-perceived latency for globally distributed applications.

Why this answer

Option A is correct because Cosmos DB natively provides turnkey global distribution with multi-region writes across any Azure region, whereas Blob Storage replication options (LRS/ZRS/GRS/RA-GRS) do not offer writable multi-region endpoints, making this a key differentiator for globally distributed apps. Option B is correct because Blob Storage is designed for unstructured data (blobs, files, media) while Cosmos DB targets semi-structured JSON documents with a defined schema-less model, so the shape of the data drives the choice. Option E is correct because Cosmos DB supports rich querying via SQL, MongoDB, Gremlin, and Cassandra APIs with indexing, while Blob Storage only offers simple key-based access and limited querying through blob index tags.

Option C is not a differentiator because both services encrypt data at rest by default using AES-256 (Storage Service Encryption and Cosmos DB encryption at rest), so it does not help choose between them. Option D is not a differentiator because both services offer very high scalability limits (Blob Storage scales to petabytes and high request rates; Cosmos DB scales to unlimited RU/s and storage), so scalability alone does not distinguish them.

Exam trap

DP-900 often tests whether candidates recognize that features common to both services (like encryption at rest) are not valid differentiators, so answers that list shared capabilities are distractors.

140
MCQeasy

Your company needs to store large amounts of data that will be accessed only a few times a year for compliance audits. The data must be retained for 7 years. Which Azure Blob Storage access tier should you choose?

A.Cool
B.Premium
C.Hot
D.Archive
AnswerD

The Archive tier is the lowest-cost option, designed for data rarely accessed and stored for at least 180 days, with rehydration latency of hours. It satisfies the compliance retention requirement of seven years and the few-times-per-year access pattern without paying for hotter tiers.

Why this answer

The Archive access tier (option D) is correct because it is designed for data that is rarely accessed and stored for at least 180 days, with the lowest storage cost and highest retrieval latency and cost, which fits compliance data accessed only a few times a year and retained for 7 years. Cool (option A) is for infrequent access but still requires data to be stored for at least 30 days and has higher storage cost than Archive, so it is not optimal for this long-term, rarely accessed scenario. Hot (option C) is for frequently accessed data and has the highest storage cost, making it unsuitable for data accessed only a few times a year.

Premium (option B) is for high-performance scenarios with low latency and high transaction rates, and it is not a cost-effective choice for long-term archival compliance data.

141
MCQeasy

A company stores JSON documents for a product catalog. Each document has a flexible schema because different product categories have different attributes. The catalog is read-heavy and requires low-latency lookups by product ID. The company expects to handle millions of products and needs to serve customers globally with low latency. Which Azure NoSQL data store should they choose?

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

Azure Cosmos DB is a globally distributed NoSQL database that supports flexible schemas and document models via its SQL API. It offers low-latency reads and writes with guarantees of <10 ms for reads and can be replicated across Azure regions.

Why this answer

Azure Cosmos DB is the correct choice because it is a globally distributed, multi-model NoSQL database that natively supports JSON documents with flexible schemas, provides single-digit-millisecond latency for read-heavy workloads via automatic indexing, and offers turnkey global distribution across Azure regions to serve customers worldwide with low latency.

Exam trap

The trap here is that candidates often confuse Azure Table Storage's key-value model with a document database, overlooking that Table Storage does not support flexible JSON schemas or global distribution with low-latency reads, while Cosmos DB is explicitly designed for these requirements.

How to eliminate wrong answers

Option A is wrong because Azure Table Storage is a key-value store that does not natively support JSON documents with flexible schemas; it stores entities with a fixed set of properties and lacks the rich querying and indexing capabilities needed for product catalog lookups. Option B is wrong because Azure Blob Storage is an object storage service for unstructured binary or text data, not a NoSQL database; it cannot perform low-latency lookups by product ID without additional indexing or compute layers. Option D is wrong because Azure SQL Database is a relational database with a fixed schema, requiring predefined tables and columns, which contradicts the requirement for flexible JSON schemas across different product categories.

142
MCQmedium

A manufacturing company stores IoT sensor data as JSON documents in Azure Cosmos DB. Each document contains a device ID, a timestamp, and a varying set of sensor readings. The application frequently queries data by device ID and a time range to retrieve all readings for a specific device over a period. The development team wants to use an API that supports SQL-like queries on this JSON data. Which Azure Cosmos DB API should they choose?

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

The Core (SQL) API stores each IoT sensor payload as a JSON document in a multi-item container and exposes a first-class SQL query engine over that JSON structure. It supports SELECT, WHERE, JOIN, and functions directly on embedded properties such as deviceId and timestamp without needing a separate translation layer. This makes it the optimal choice when the application requires SQL-like queries over JSON time-series data, with automatic indexing and configurable partition keys for scale.

Why this answer

The Azure Cosmos DB Core (SQL) API is the correct choice because it natively supports querying JSON documents using SQL-like syntax, which aligns with the requirement to run SQL-like queries on JSON data. This API provides a rich query language for filtering by device ID and timestamp ranges, making it ideal for the described IoT scenario where documents have varying sensor readings.

Exam trap

The trap here is that candidates may confuse the MongoDB API's support for JSON documents with SQL-like querying, but MongoDB uses its own query language (e.g., db.collection.find()) rather than SQL syntax, which is a key distinction tested in the DP-900 exam.

Why the other options are wrong

B

The MongoDB API supports MongoDB queries, not SQL-like queries. The question explicitly requires an API that supports SQL-like queries on JSON data, which is a feature of the Core (SQL) API.

C

The Cassandra API is designed for wide-column stores and uses CQL (Cassandra Query Language), not SQL-like queries on JSON documents. It does not natively support querying JSON documents with varying schemas or SQL syntax.

D

The Gremlin API is designed for graph databases and graph traversal queries, not for SQL-like queries on JSON documents. The question requires SQL-like queries on JSON data, which is not supported by Gremlin.

143
MCQeasy

A company is developing a web application that stores user profiles as JSON documents. The application needs to query these documents using SQL-like queries, and must support automatic indexing of all properties. They want a fully managed, globally distributed NoSQL database with low latency. Which Azure Cosmos DB API should they use?

A.Table API
B.Cassandra API
C.SQL API
D.Gremlin API
AnswerC

The SQL API is the native document API for Azure Cosmos DB: it stores user profiles as full JSON documents in containers and queries them with a SQL-like syntax that understands JSON types, nested objects, and arrays. This API automatically indexes every property of the JSON document, enabling efficient filtering, projection, and joins without requiring a fixed schema. For a web application that needs to store and retrieve JSON user profiles as documents, the SQL API is the correct choice.

Why this answer

The SQL API (formerly DocumentDB API) is the correct choice because it natively supports querying JSON documents with SQL-like syntax (SELECT * FROM c WHERE c.property = value). It automatically indexes all properties by default, provides a fully managed, globally distributed NoSQL database with low-latency reads and writes, and is designed specifically for document-based workloads like user profiles.

Exam trap

The trap here is that candidates often confuse the SQL API with the Table API because both support querying, but the Table API lacks SQL-like syntax and automatic indexing of all properties, making it unsuitable for JSON document workloads.

How to eliminate wrong answers

Option A is wrong because the Table API is designed for key-value storage with a schema-less table structure, not for querying JSON documents with SQL-like queries; it uses OData and REST-based queries, not SQL. Option B is wrong because the Cassandra API is optimized for wide-column stores using the Cassandra Query Language (CQL), which is similar to SQL but does not natively support JSON document queries or automatic indexing of all properties. Option D is wrong because the Gremlin API is built for graph databases and uses the Gremlin traversal language for navigating relationships, not for SQL-like queries on JSON documents.

144
MCQmedium

A manufacturing company collects sensor data from thousands of IoT devices. Each sensor reading includes a timestamp, device ID, and a variable set of measurements (e.g., temperature, pressure, vibration) that differ by device type. The company needs to store this data in a globally distributed NoSQL database that supports low-latency writes and flexible schema. Which Azure data store should they choose?

A.Azure SQL Database
B.Azure Cosmos DB with the NoSQL API
C.Azure Cache for Redis
D.Azure Database for PostgreSQL
AnswerB

Azure Cosmos DB with the NoSQL API is the right fit because it stores JSON documents natively, allowing each sensor record to have a flexible set of attributes without schema migrations. Its multi-region writes and configurable consistency levels (e.g., session or eventual) provide sub-10-ms latencies at scale, which is essential for thousands of concurrent IoT devices writing variable telemetry. The global distribution also ensures data is available close to each factory or region, and the change feed can stream to downstream analytics, making it a purpose-built choice for high-velocity, schema-less sensor data.

Why this answer

Azure Cosmos DB with the NoSQL API is the correct choice because it is a globally distributed, multi-model database service that supports low-latency writes at scale, a flexible schema (schemaless), and automatic indexing of variable sensor measurements. Its multi-region write capability and configurable consistency levels meet the requirements of high-throughput IoT ingestion from thousands of devices.

Exam trap

The trap here is that candidates often confuse Azure Cache for Redis as a primary database for IoT data, but it is an in-memory cache without durability guarantees, not a globally distributed NoSQL store for persistent sensor readings.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database is a relational database with a fixed schema, which cannot easily handle the variable set of measurements per device type and does not natively support global distribution with low-latency writes at IoT scale. Option C is wrong because Azure Cache for Redis is an in-memory data store primarily used for caching and session state, not a durable, globally distributed NoSQL database for persistent sensor data storage. Option D is wrong because Azure Database for PostgreSQL is a relational database with a fixed schema and limited global distribution capabilities compared to Cosmos DB, making it unsuitable for flexible schema and low-latency multi-region writes.

145
MCQmedium

A social media application uses Azure Cosmos DB to store user posts. When a user publishes a new post, they immediately refresh their feed and expect to see their own post right away. However, the application can tolerate temporary staleness for posts from other users. Which Azure Cosmos DB consistency level should the app use for the read operations that display the feed?

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

Session consistency guarantees that within the same client session, reads will see the latest writes. This means the user will always see their own post immediately, while reads of other users' posts may be stale. This is the most cost-effective and correct choice.

Why this answer

Session consistency guarantees monotonic reads, writes, and read-your-writes within a single client session. Because the user expects to see their own post immediately after publishing, but can tolerate staleness for others' posts, Session consistency provides the exact guarantee needed: the user's own writes are immediately visible to them, while other users' posts may be slightly stale.

Exam trap

The trap here is that candidates often pick Eventual consistency because they see 'tolerate temporary staleness' and forget that the user's own post must be immediately visible, which requires at least read-your-writes — a guarantee that Session consistency provides but Eventual does not.

Why the other options are wrong

A

Strong consistency would force all reads to see the latest write, but the application only needs immediate consistency for the user's own posts, not for all posts. Strong consistency also increases latency and reduces availability, which is unnecessary for this use case.

B

Bounded staleness allows a configurable lag (time or updates), but the app needs immediate consistency for the user's own posts, which session guarantees. Bounded staleness could still show stale data for the user's own post if the lag isn't zero, violating the requirement.

D

Eventual consistency does not guarantee that the user's own post is immediately readable after write, which contradicts the requirement that the user sees their own post right away upon refresh.

146
MCQmedium

A mobile gaming company is building a new feature that stores player profiles and game settings as key-value pairs. The development team is most familiar with SQL queries and wants to minimize the learning curve. They require low-latency reads and writes, and the data does not require complex joins. Which Azure Cosmos DB API should they choose?

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

The Core (SQL) API is the default Cosmos DB API, exposing a SQL query dialect that operates directly on JSON documents without any schema mapping. Because the team already knows SQL, they can immediately write SELECT, JOIN, and WHERE clauses with no additional learning curve. It also delivers single-digit-millisecond latency for key-value reads and writes, and its tunable consistency and built-in index management make it the most straightforward and cost-effective choice for the new feature.

Why this answer

The Core (SQL) API is the correct choice because it provides native support for SQL queries, which aligns with the development team's familiarity with SQL and minimizes the learning curve. It stores data in JSON documents with key-value pairs, supports low-latency reads and writes, and does not require complex joins, making it ideal for player profiles and game settings.

Exam trap

The trap here is that candidates may choose the Azure Cosmos DB for Table API (Option B) because they associate 'key-value pairs' with Table storage, but the question emphasizes SQL familiarity and low-latency reads/writes, which the Core (SQL) API directly supports with its native SQL query capability.

Why the other options are wrong

B

The team prefers SQL queries and wants to minimize learning curve; the Table API uses OData and REST, not SQL, so it would require learning a different query model.

C

The team is most familiar with SQL queries and wants to minimize learning curve; MongoDB API uses MongoDB query language (NoSQL), not SQL, so it would require learning a new query syntax.

D

The Cassandra API uses CQL (Cassandra Query Language), not SQL, and is designed for wide-column stores, not simple key-value pairs. The team's familiarity with SQL and need for low-latency key-value access makes the Core (SQL) API a better fit.

147
MCQmedium

A retail company stores product catalog data in Azure Cosmos DB for NoSQL. Each product document has a unique 'id' and a 'category' field. The application performs frequent queries that filter by 'category' and retrieve a few products at a time. To optimize performance and cost, you need to choose an appropriate partition key. What should you do?

A.Use 'id' as the partition key.
B.Create a synthetic partition key by concatenating 'category' and 'id'.
C.Use a fixed partition key value such as 'product'.
D.Use 'category' as the partition key.
AnswerD

Partitioning by 'category' allows queries filtering on category to target a single logical partition, reducing cross-partition fan-out and improving performance. It also enables efficient scaling if categories are well-distributed. However, if a single category grows very large (e.g., 'electronics' with millions of items), it may become a hot partition, but for typical catalogs with many categories, this is a good choice.

Why this answer

Choosing 'category' as the partition key aligns with the frequent query pattern that filters by category. This allows those queries to be served from a single logical partition, minimizing cross-partition fan-out and reducing latency and RU consumption. It also supports horizontal scaling as long as categories are sufficiently diverse and no single category becomes an extreme hot partition.

Exam trap

The trap here is assuming that a unique key like 'id' always makes the best partition key, without considering the query patterns and the need to avoid cross-partition queries.

148
MCQmedium

A manufacturing company installs IoT sensors on equipment in a factory. Each sensor sends a reading (device ID, timestamp, temperature, vibration) every second. The application must store these readings with extremely low write latency, support queries for the latest reading per device, and allow range queries over the last hour for a specific device. The development team expects high throughput writes (millions per day) and does not require complex joins. Which Azure data store is most appropriate for this workload?

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

Azure Cosmos DB is a multi-model NoSQL database with single-digit-millisecond write and read latencies, automatic indexing, and tunable consistency, making it ideal for high-throughput IoT telemetry from manufacturing sensors. Its schema-agnostic JSON documents easily accommodate varying sensor payloads, and its partitioning enables efficient point reads and time-based range queries. Support for global distribution and a 99.999% SLA further justify it as the purpose-built choice for per-second equipment data ingestion.

Why this answer

Azure Cosmos DB is the most appropriate because it offers single-digit millisecond write and read latencies at any scale, which is critical for the high-throughput, low-latency IoT sensor ingestion described. Its support for automatic indexing and efficient point reads (by device ID and timestamp) enables fast retrieval of the latest reading per device, while its native time-to-live (TTL) and range query capabilities on the timestamp field allow efficient queries over the last hour for a specific device. Additionally, Cosmos DB's schema-agnostic, non-relational model fits the simple key-value structure of sensor readings without requiring complex joins.

Exam trap

The trap here is that candidates often choose Azure Table Storage because it is a low-cost, schema-less NoSQL option, but they overlook its lack of guaranteed single-digit millisecond latency and the need for manual partition key design to avoid throttling under high-throughput IoT workloads.

Why the other options are wrong

B

Azure Table Storage does not support range queries on timestamps efficiently because its partition key design typically requires equality filters on partition key; range queries across time for a specific device would be inefficient without proper partitioning, and it lacks native support for ordering by timestamp across partitions.

C

Azure Blob Storage is optimized for storing large unstructured data (e.g., files, images, logs) but does not support low-latency point reads by device ID or efficient range queries over time, nor does it provide native indexing for querying individual sensor readings.

D

Azure SQL Database is a relational database with higher write latency and overhead for schema enforcement, making it unsuitable for the extreme low-latency, high-throughput write workload of millions of IoT sensor readings per day.

149
MCQmedium

A social media analytics company needs to store large amounts of user activity logs. Each log entry contains a timestamp, user ID, activity type, and a dynamic set of custom attributes (e.g., page viewed, time spent). The application requires low-latency writes and point reads by a composite key (user ID and timestamp). The data is rarely updated after insertion. The company wants a fully managed NoSQL database that supports serverless throughput and automatic expiration of old logs (TTL). Which Azure Cosmos DB API should they choose?

A.Table API
B.NoSQL API (Core/SQL API)
C.Cassandra API
D.Gremlin API
AnswerA

The Table API is built for key-value stores and supports a schema-less design with composite keys (PartitionKey + RowKey). It also supports serverless throughput and TTL (time-to-live) to automatically delete old entries, fitting the activity log use case.

Why this answer

The Table API is the correct choice because it provides a fully managed, serverless NoSQL database with automatic TTL (Time-to-Live) for data expiration, low-latency point reads and writes by a composite key (partition key + row key), and is optimized for storing large volumes of structured log data with dynamic attributes. It supports the exact requirements: high-throughput writes, point queries by user ID and timestamp, and automatic expiration of old logs without manual intervention.

Exam trap

The trap here is that candidates often choose the NoSQL API (Core/SQL API) because it is the most well-known Cosmos DB API, but they overlook that the Table API is specifically optimized for high-volume, low-latency key-value workloads with composite keys and automatic TTL, making it the correct choice for log data with dynamic attributes.

How to eliminate wrong answers

Option B (NoSQL API) is wrong because while it supports serverless throughput and TTL, it is designed for document-based data with flexible schemas and requires a partition key and sort key for point reads, but it does not natively support composite key queries as efficiently as the Table API's row key design; however, the primary reason it is not the best fit is that the Table API is more cost-effective and simpler for log data with dynamic attributes. Option C (Cassandra API) is wrong because it is based on the Cassandra distributed database, which uses a different data model (wide-column stores) and does not support serverless throughput in the same way; it also requires more manual management of consistency and replication, and while it supports TTL, it is not the simplest fully managed option for this use case. Option D (Gremlin API) is wrong because it is a graph database API designed for traversing relationships between entities (e.g., social networks, recommendation engines), not for storing and querying time-series log data with composite keys; it lacks native support for TTL and serverless throughput in the same manner as the Table API.

150
MCQmedium

A company has an existing IoT application that uses Apache Cassandra for time-series sensor data. They want to migrate to Azure's fully managed NoSQL database service while continuing to use the Cassandra Query Language (CQL) and benefiting from global distribution and low latency. Which Azure Cosmos DB API should they use?

A.Core (SQL) API
B.MongoDB API
C.Cassandra API
D.Gremlin API
AnswerC

The Cassandra API provides a native compatibility layer for the Apache Cassandra wire protocol and CQL, allowing existing Cassandra drivers, queries, and schemas to work with minimal changes. This makes it the only option that supports a seamless migration from an on-premises Cassandra cluster to Azure Cosmos DB while preserving the time-series data model and query patterns. Cosmos DB then adds global distribution, multi-region writes, and a fully managed SLA on top of that Cassandra compatibility.

Why this answer

The Cassandra API for Azure Cosmos DB is wire-protocol-compatible with Apache Cassandra, meaning you can use existing CQL (Cassandra Query Language) tools, drivers, and code with minimal changes. It provides a fully managed, globally distributed NoSQL database with low-latency reads and writes, which directly matches the company's requirement to migrate from self-managed Cassandra while preserving their CQL-based application logic.

Exam trap

The trap here is that candidates may confuse the 'Cassandra API' with the 'Core (SQL) API' because both support SQL-like syntax, but only the Cassandra API uses the native CQL wire protocol and wide-column storage model required for time-series sensor data.

How to eliminate wrong answers

Option A is wrong because the Core (SQL) API uses a SQL-like query language and a different data model (JSON documents with optional schema), not the Cassandra Query Language (CQL), so existing CQL code would not work. Option B is wrong because the MongoDB API uses the MongoDB wire protocol and BSON document model, which is incompatible with CQL and Cassandra's table/partition-key structure. Option D is wrong because the Gremlin API is designed for graph databases using the Apache TinkerPop graph traversal language, not for time-series sensor data modeled in Cassandra's wide-column format.

← PreviousPage 2 of 3 · 174 questions totalNext →

Ready to test yourself?

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