Courseiva

CCNA Describe considerations for working with non-relational data on Azure Questions

75 of 178 questions · Page 2/3 · Describe considerations for working with non-relational data on Azure · Answers revealed

76
MCQeasy

A company stores IoT sensor data as JSON files in Azure Blob Storage. A data analyst needs to run ad-hoc SQL queries on these files without moving the data and without provisioning any compute clusters. The analyst wants to pay only for the amount of data processed by each query. Which Azure service should they use?

A.Azure SQL Database
B.Azure Synapse Serverless SQL pool
C.Azure Cosmos DB
D.Azure Data Factory
AnswerB

Correct. Azure Synapse Serverless SQL pool is a query engine that reads data directly from Azure Blob Storage or Azure Data Lake Storage using the OPENROWSET function. You can issue standard T-SQL with OPENROWSET to read the JSON files and parse them with OPENJSON, all without provisioning any dedicated infrastructure. Billing is per amount of data scanned, making it ideal for occasional or interactive analysis over IoT sensor data in Blob.

Why this answer

Azure Synapse Serverless SQL pool allows you to query data directly from Azure Blob Storage using T-SQL without provisioning any compute clusters. It uses a pay-per-query model where you are billed only for the amount of data processed, making it ideal for ad-hoc SQL queries on JSON files stored in Blob Storage without data movement.

Exam trap

The trap here is that candidates often confuse Azure Synapse Serverless SQL pool with Azure SQL Database, assuming any SQL-capable service can query files in Blob Storage, but only the serverless pool provides pay-per-query billing and direct file access without provisioning compute.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database is a provisioned relational database service that requires you to import data into it and pay for reserved compute, not for data processed per query. Option C is wrong because Azure Cosmos DB is a NoSQL database that requires data to be ingested into its containers and does not support ad-hoc SQL queries directly on files in Blob Storage without provisioning throughput. Option D is wrong because Azure Data Factory is an ETL and data integration service, not a SQL query engine; it cannot run ad-hoc SQL queries directly on files without moving or transforming data.

77
MCQeasy

A healthcare organization stores medical imaging files (DICOM) that are actively used by radiologists for the first 30 days. After 30 days, the files are accessed infrequently for up to 5 years. After 5 years, they must be retained for legal compliance but are accessed very rarely. The organization wants to minimize storage costs. Which strategy should they use to manage the data lifecycle in Azure Blob Storage?

A.Store all files in the Hot tier and use lifecycle management to move to the Archive tier after 5 years.
B.Store files in the Hot tier, move to Cool tier after 30 days, then to Archive tier after 5 years.
C.Store all files in the Archive tier from the beginning to minimize cost.
D.Store all files in the Cool tier to balance cost and access.
AnswerB

This lifecycle strategy aligns storage cost with data access patterns: the Hot tier supports frequent reads during the first 30 days when imaging files are actively used, the Cool tier lowers cost during the subsequent infrequent-access period, and the Archive tier provides the least expensive long-term retention after 5 years during which the data is rarely needed. Applying lifecycle management automates the transitions, avoiding both the high storage cost of keeping files in Hot for years and the retrieval latency of Archive for files that are still being accessed.

Why this answer

It aligns the data lifecycle with the access patterns: Hot tier for frequent initial access, Cool tier for infrequent access after 30 days, and Archive tier for long-term compliance after 5 years. Azure Blob Storage lifecycle management policies can automate these transitions, minimizing costs by using the most cost-effective tier for each phase.

Exam trap

The trap here is that candidates often assume the Archive tier is always the cheapest option from day one, ignoring the high retrieval costs and latency for actively used data, or they overlook the need for a graduated tier strategy to match changing access patterns.

Why the other options are wrong

A

This option fails to move files to the Cool tier after 30 days, missing cost savings during the infrequent access period (30 days to 5 years). Keeping files in Hot tier for 5 years incurs higher storage costs than necessary.

C

Storing all files in the Archive tier from the beginning would make them unavailable for immediate access by radiologists during the first 30 days, as Archive tier requires rehydration (up to 15 hours) before reading.

D

The Cool tier is not cost-optimal for data that is actively used for the first 30 days, and it does not provide the lowest cost for long-term retention after 5 years. The Hot tier is needed for active access, and the Archive tier is required for minimal cost after 5 years.

78
MCQmedium

A social media application stores user profiles in Azure Cosmos DB using the NoSQL API. Each profile includes UserID, Name, Email, and an array of Posts. The most common query retrieves a user's profile by UserID. The application requires strong consistency for writes so that once a profile is updated, all subsequent reads see the latest data. To minimize Request Unit (RU) consumption, which partition key should be chosen?

A.UserID
B.Email
C.Name
D.A synthetic partition key combining UserID and Region
AnswerA

UserID is the correct choice because it is unique and high-cardinality, producing many small, evenly distributed logical partitions that scale horizontally without hot spots. When UserID is both the partition key and the item ID, a profile lookup is a point read: Cosmos DB computes the partition from the value and reads a single document directly, consuming the fewest request units (RUs) and lowest latency. Any other partition key would force queries for a known UserID to fan out across multiple physical partitions, so UserID satisfies both even distribution and the application's dominant access pattern.

Why this answer

UserID is the correct partition key because it is the primary filter in the most common query (retrieving a profile by UserID), ensuring each query targets a single logical partition. This minimizes cross-partition queries and RU consumption. Additionally, UserID provides high cardinality and even distribution, which prevents hot partitions and supports the required strong consistency for writes.

Exam trap

The trap here is that candidates often choose a synthetic key or a secondary attribute like Email, thinking they need to avoid hot partitions, but they overlook that the most common query pattern and the need for minimal RU consumption dictate using the primary query filter as the partition key.

How to eliminate wrong answers

Option B (Email) is wrong because while Email is unique, it is not the primary query filter; using it would require an additional index lookup or cross-partition query for the most common operation, increasing RU cost. Option C (Name) is wrong because Name is not unique and has low cardinality, leading to large partitions and potential hot spots, which degrades performance and RU efficiency. Option D (A synthetic partition key combining UserID and Region) is wrong because it adds unnecessary complexity and could cause cross-partition queries if Region is not consistently used in the query filter; it also risks uneven data distribution if Region is skewed.

79
Multi-Selectmedium

Which TWO of the following are benefits of using Azure Table Storage over Azure Blob Storage for storing semi-structured data?

Select 2 answers
A.Supports querying by partition key and row key
B.Designed for key-value storage and retrieval
C.Provides automatic indexing of all attributes
D.Supports REST API access
E.Offers higher throughput for large files
AnswersA, B

Table Storage's underlying engine physically orders entities by partition key and row key, and it automatically creates a clustered index on this composite key. This design makes equi-joins or range scans on these keys extremely fast because the server can navigate directly to the matching rows without scanning unrelated data. In contrast, Blob Storage has no key-based query capability; blobs are located by container and name, not by user-defined key pairs.

Why this answer

Table Storage supports key-value access and automatic indexing of partition and row keys, making queries by key efficient. Blob Storage is for unstructured data and does not provide built-in key-based querying. Both have REST APIs.

Blob Storage has higher throughput for large files.

80
MCQhard

A company stores sensitive customer data in Azure Blob Storage. They need to ensure that data at rest is encrypted using a customer-managed key that is stored in Azure Key Vault. Additionally, they want to prevent data from being accessed by unauthorized users even if the storage account key is compromised. Which combination should they use?

A.Enable customer-managed keys and use Azure Defender for Storage
B.Enable customer-managed keys and use Azure Monitor
C.Enable infrastructure encryption and use Azure Backup
D.Enable storage account encryption and use Azure Sentinel
AnswerA

Customer-managed keys stored in Azure Key Vault let the customer create, rotate, and revoke the encryption keys used by Azure Storage, giving them the ability to cryptographically erase data and meet key-control compliance demands. Azure Defender for Storage continuously analyzes storage account telemetry to detect suspicious activities such as anomalous access patterns, privilege attempts, and known malware, then raises alerts or triggers automated mitigation. Together these two services address both requirements: customer-controlled encryption plus active threat detection.

Why this answer

Customer-managed keys (CMK) stored in Azure Key Vault allow you to control and revoke the encryption key, thereby preventing decryption of data at rest even if the storage account key is compromised. Azure Defender for Storage provides threat detection and can trigger alerts or automated responses (e.g., revoking the key) to stop unauthorized access. Together, CMK gives you control over encryption and Defender enables detection and response, effectively preventing unauthorized access.

Options B, C, and D do not provide either encryption control or security monitoring necessary to meet the requirements.

Exam trap

Candidates may assume that Azure Defender for Storage alone prevents access, but it only detects. The prevention comes from the ability to revoke the customer-managed key upon detection.

81
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

Correct. The Core (SQL) API provides a SQL-like query language, supports point reads and range queries, and enables multi-region writes for global distribution.

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.

82
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.

83
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.

84
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 exposes five well-defined consistency levels—Strong, Bounded Staleness, Session, Consistent Prefix, and Eventual—that can be selected per request. This tunable consistency model lets developers trade between strict linearizability and lower latency or higher availability, which is a distinct advantage over Table Storage's fixed consistency semantics. The availability of multiple consistency levels is a core architectural consideration when designing globally distributed data solutions.

Why this answer

Options B, C, and E are correct. Cosmos DB provides multiple consistency levels (B), supports multi-region writes (C), and automatically indexes all properties (E). Option A is incorrect because Table Storage does not support multi-region writes; that is a feature of Cosmos DB.

Option D is incorrect because Cosmos DB does support JSON documents, both natively.

85
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.

86
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.

87
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 NoSQL database that natively supports JSON documents with flexible schema. Option A is wrong because Azure Table Storage is for key-value data, not document storage. Option B is wrong because Azure SQL Database is relational and enforces schema.

Option C is wrong because Azure Blob Storage stores unstructured data but does not provide a query interface for JSON documents.

88
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.

89
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

Using UserID as the partition key ensures that all preferences for a specific user are stored in the same partition, enabling fast and efficient point queries. Region, Random GUID, and Timestamp would scatter user data across multiple partitions, slowing down retrieval.

90
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.

91
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.

92
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.

93
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.

94
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 provides the weakest guarantee but the lowest read latency. Reads are served from any replica without waiting for write propagation, making it ideal for read-heavy workloads where immediate consistency is not required.

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.

95
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.

96
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.

97
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 optimized for storing large amounts of unstructured data, such as images and videos, and provides high throughput for read/write operations, making it ideal for user profile pictures and uploaded photos. Azure Files (A) is a managed file share for SMB/NFS, not optimized for high-throughput binary object operations. Azure SQL Database (C) is a relational database for structured data, not designed for large binary objects.

Azure Cosmos DB (D) is a NoSQL database primarily for structured or semi-structured data, not for storing large blobs efficiently.

98
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

A lifecycle management policy can automatically transition blobs to cooler storage tiers (e.g., Cool after 90 days) and delete blobs after 365 days. This directly meets the compliance requirements. Option A is incorrect because Azure Backup is for backing up data, not for lifecycle management.

Option C is incorrect because Soft Delete is for recovery from accidental deletion, not for automated tiering or deletion. Option D is incorrect because Azure Files is a file share service, not designed for automated lifecycle policies on blobs.

99
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

Correct. This combination provides cost-effective storage and serverless SQL querying without infrastructure management.

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.

100
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.

101
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.

102
MCQmedium

Your organization stores IoT sensor data as JSON blobs in Azure Blob Storage. You need to query this data using SQL statements without moving the data. Which Azure service should you use?

A.Azure SQL Database
B.Azure Cosmos DB
C.Azure Data Lake Storage Gen2
D.Azure Synapse Serverless SQL
AnswerD

Azure Synapse Serverless SQL enables direct querying of JSON blobs stored in Azure Blob Storage using T-SQL. This service allows users to create external tables or utilise `OPENROWSET` to query the data *in situ*, eliminating the need to move or ingest it into a separate database. This capability directly satisfies the constraint of querying the data using SQL statements without moving it from its current storage location, providing a flexible and cost-effective solution for ad-hoc analysis.

Why this answer

Azure Synapse Serverless SQL (part of Azure Synapse Analytics) can directly query JSON files stored in Azure Blob Storage using T-SQL statements via OPENROWSET, without the need to move or load the data. Option A is wrong because Azure SQL Database is a relational database service that requires data to be imported into tables. Option B is wrong because Azure Cosmos DB is a NoSQL database service, not a query engine for Blob Storage.

Option C is wrong because Azure Data Lake Storage Gen2 is a hierarchical storage service, not a query capability.

103
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`.

104
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.

105
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.

106
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.

107
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.

108
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.

109
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.

110
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

Supports large blobs, HTTPS access, and concurrent reads.

Why this answer

Azure Blob Storage supports large blobs (up to 190.7 TiB) and is optimized for read-heavy workloads with HTTPS access and concurrent reads. Option A is wrong because Azure Files has a maximum file size of 4 TiB and is designed for file shares, not large binary blobs. Option B is wrong because Azure Cosmos DB is for NoSQL transactional data, not large binary files.

Option C is wrong because Azure NetApp Files is for high-performance file workloads, but more complex and expensive for simple blob storage.

111
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.

112
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.

113
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.

114
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

FORMAT = 'CSV'. In Azure Synapse Serverless SQL, the OPENROWSET function with BULK option allows querying files directly. When a CSV file is stored in Azure Blob Storage, you must specify FORMAT = 'CSV' to indicate the file format.

Option A (FORMAT = 'JSON') is for JSON files, Option B (FORMAT = 'PARQUET') is for Parquet files, and Option D (FORMAT = 'DELTA') is for Delta Lake tables. Therefore, only FORMAT = 'CSV' correctly handles the CSV file.

115
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.

116
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 common query. With UserID as partition key, all bookings for a user reside in one partition, making queries efficient and reducing RU consumption.

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.

117
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.

118
MCQmedium

You have applied the lifecycle management policy shown in the exhibit to an Azure Storage account. A blob named 'logs/error.log' was last modified 200 days ago. In which tier is the blob currently stored?

A.Hot tier
B.The blob has been deleted
C.Cool tier
D.Archive tier
AnswerD

Given the lifecycle policy, the blob is moved to Archive tier once it is 90 days old, and no further tier changes are defined before the 365-day deletion. At 200 days after last modification, the blob has securely been sitting in Archive tier for 110 days. Archive offers the lowest storage cost but requires a rehydration step before reading, which is appropriate for this blob's age and access pattern.

Why this answer

The policy moves blobs to Cool after 30 days and to Archive after 90 days. Since the blob was modified 200 days ago, it has already been moved to Archive after 90 days. The delete action occurs after 365 days, so it has not been deleted yet.

Therefore, the blob is in the Archive tier.

119
Drag & Dropmedium

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

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

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.

120
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.

121
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.

122
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.

123
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.

124
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.

125
MCQmedium

A company stores backup files in Azure Blob Storage. The backups are taken daily and must be retained for 7 years. The backup files are rarely accessed after the first month. The company wants to minimize storage costs while ensuring that backups are available for retrieval within 5 hours when needed. Which storage tier should they use after the first month?

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

Cool tier is the right fit because it is designed for data that is rarely accessed but must be immediately available when needed. Storage costs are significantly lower than Hot and Premium, while retrieval latency remains in the order of minutes, comfortably meeting the 5-hour availability requirement. Although per-GB retrieval and early-deletion charges apply, for long-lived backup files the overall cost is minimized.

Why this answer

The Cool tier is the most cost-effective option that meets the 5-hour retrieval requirement. Archive tier retrieval can take up to 15 hours, which exceeds the requirement. Hot tier and Premium tier are more expensive and designed for frequent access, not long-term retention with minimal access.

126
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.

127
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 by GameID collocates all scores for a game in one partition, so the query targeting a specific GameID is a single-partition query, consuming fewer RUs.

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.

128
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

It addresses the requirement to minimize costs by moving older data to Azure Blob Storage Cool tier, which is cheaper, while still allowing access within 24 hours via an Azure Data Factory pipeline to copy data back to Table Storage on demand. Option A is incorrect because Azure Table Storage does not support automatic lifecycle management policies like Blob Storage does. Option B is incorrect because Azure SQL Database is a relational database and not optimized for IoT sensor data; it would be more expensive and complex.

Option C is incorrect because Azure Cosmos DB is generally more expensive than Table Storage and using TTL would delete data permanently, not provide a way to restore it within 24 hours.

129
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.

130
MCQmedium

A company stores IoT sensor data in Azure Blob Storage. The data is written hourly and must be retained for 90 days. After 90 days, it must be automatically deleted. Which access tier should be used for cost optimization during the retention period?

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

Cool access tier is specifically designed for data that is infrequently accessed and retained for at least 30 days, offering a lower storage price than Hot while keeping millisecond latency for reads. Hourly IoT sensor logs that remain unread for the majority of their 90-day lifecycle align perfectly with Cool's cost profile, and the 90-day retention safely exceeds the 30-day minimum without imposing any early-deletion fees. It also allows immediate access for on-demand analysis, making it the most balanced and technically appropriate choice for this scenario.

Why this answer

The Cool tier is optimized for data that is infrequently accessed and stored for at least 30 days, with lower storage costs and higher access costs. Hot tier is for frequent access and would be more expensive. Archive tier has a 180-day minimum retention penalty.

Premium tier is for high transaction volumes and is not cost-effective for this scenario.

131
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.

132
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.

133
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.

134
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.

135
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.

136
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.

137
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 can query text files in Azure Blob Storage using OPENROWSET with the CSV or text file format, allowing SQL queries over log files. Option A (Azure Stream Analytics) is for real-time streaming, not ad-hoc SQL batch queries. Option B (Azure Data Lake Storage) is a storage service, not a query engine.

Option D (Azure Analysis Services) is for semantic models and OLAP, not direct file querying.

138
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.

139
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) provides Hadoop-compatible file system semantics (hierarchical namespace) and is built on Blob Storage. Azure Blob Storage does not have a hierarchical namespace by default. Azure Cosmos DB and Azure SQL are not file systems.

140
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.

141
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.

142
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.

143
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 offers tiered storage (Hot, Cool, Archive) ideal for optimizing costs based on access frequency. Option A is incorrect because Azure Cosmos DB is a NoSQL database service, not designed for storing large binary files with tiered storage. Option B is incorrect because Azure Files provides fully managed file shares in the cloud, but does not support access tiers for cost optimization like Blob Storage does.

Option D is incorrect because Azure Disk Storage provides block-level storage volumes for Azure VMs, not suitable for object storage with tiering.

144
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

(Global distribution and multi-region writes) is correct because Azure Cosmos DB supports global distribution with multi-region writes, while Azure Blob Storage does not offer multi-region writes. Option B (Data structure) is correct because Blob Storage is designed for unstructured data (blobs), whereas Cosmos DB handles semi-structured data (JSON documents) with flexible schema. Option E (Query capabilities) is correct because Cosmos DB supports complex queries (e.g., SQL, MongoDB API), while Blob Storage primarily offers key-value access by blob name.

Option C (Encryption at rest) is incorrect because both services support encryption at rest. Option D (Scalability limits) is incorrect because both services are highly scalable.

145
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.

146
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.

147
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.

148
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.

149
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.

150
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.

← PreviousPage 2 of 3 · 178 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Describe considerations for working with non-relational data on Azure questions.