Microsoft’s new Fabric Database Hub now lets architects manage Cosmos DB, Azure SQL, and PostgreSQL from a single pane — a sign that data storage architecture keeps getting more interconnected. This is the third set (Questions 21–30) in our AZ-305 practice series. These AZ-305 data storage questions cover Cosmos DB consistency models, Azure SQL purchasing tiers, storage redundancy, data lake design, and relational versus non-relational selection criteria.
Question 21: Selecting a Cosmos DB Consistency Level
A global e-commerce company uses Azure Cosmos DB with multi-region writes enabled. Their shopping cart service needs users to always read their own writes during a session, but the company accepts that users in other regions may see slightly stale data. The solution must minimize request unit (RU) consumption.
Which consistency level should you recommend?
A) Strong
B) Bounded staleness
C) Session
D) Eventual
👁 Reveal Answer
Correct Answer: C
Explanation: Session consistency guarantees that within a single session, a user always reads their own writes. It is the default and most popular consistency level in Cosmos DB because it balances consistency with low RU cost. Strong consistency would guarantee global linearizability but doubles RU cost and is not supported with multi-region writes. Bounded staleness provides a staleness window guarantee but consumes more RUs than session consistency for multi-region configurations. Eventual consistency has the lowest cost but does not guarantee read-your-own-writes, which could cause cart items to appear missing.
Question 22: Choosing Between Azure SQL Database Tiers
A SaaS provider hosts 40 small customer databases on Azure. Each database has unpredictable usage patterns — some spike during business hours while others remain idle. The company wants to share compute resources across databases and keep costs predictable.
Which Azure SQL deployment option should you recommend?
A) 40 individual Azure SQL databases on the General Purpose tier using the vCore model
B) Azure SQL elastic pool using the DTU model
C) A single Azure SQL Managed Instance
D) 40 individual Azure SQL databases on the Hyperscale tier
👁 Reveal Answer
Correct Answer: B
Explanation: Elastic pools let multiple databases share a set of compute resources (DTUs or vCores), making them ideal for databases with unpredictable, varying workloads. Idle databases consume fewer resources while active ones burst, keeping total cost lower than provisioning each database individually. Option A provisions dedicated compute per database, which is wasteful when most databases sit idle. Option C provides instance-level features (SQL Agent, cross-database queries) but is overkill and more expensive for simple multi-tenant SaaS with small databases. Option D is designed for very large databases (up to 100 TB) with rapid scale-out — unnecessary for small customer databases.
Question 23: Designing Storage Redundancy for Regulatory Compliance
A government agency stores sensitive documents in Azure Blob Storage. Regulations require that data remains within the country’s borders at all times but must survive an entire datacenter failure. The Azure region they use supports availability zones.
Which redundancy option should you recommend?
A) Locally redundant storage (LRS)
B) Geo-redundant storage (GRS)
C) Zone-redundant storage (ZRS)
D) Geo-zone-redundant storage (GZRS)
👁 Reveal Answer
Correct Answer: C
Explanation: Zone-redundant storage (ZRS) replicates data synchronously across three availability zones within a single region. This survives a full datacenter (zone) failure while keeping all data within the same region — satisfying the data sovereignty requirement. LRS keeps three copies in a single datacenter, so an entire datacenter failure could cause data loss. GRS and GZRS replicate data to a secondary region, which violates the requirement that data must remain within the country’s borders (assuming single-region country).
Question 24: Selecting a Database for Low-Latency Global Reads
A gaming company builds a player profile service that must deliver sub-10-millisecond reads from any region worldwide. The data model is a simple JSON document representing each player’s stats. Write operations happen infrequently and only from the player’s home region. The team needs automatic failover if a region goes down.
Which data store should you recommend?
A) Azure SQL Database with active geo-replication
B) Azure Cosmos DB with single-region write and multi-region read replicas
C) Azure Table Storage with RA-GRS
D) Azure Database for PostgreSQL with read replicas
👁 Reveal Answer
Correct Answer: B
Explanation: Cosmos DB guarantees single-digit millisecond reads at the 99th percentile globally. Single-region write with multi-region read replicas matches the write-from-home-region pattern, and automatic failover is built in. The JSON document model fits player profiles naturally. Option A supports geo-replication but cannot guarantee sub-10ms reads globally and requires manual failover group configuration. Option C provides geo-redundant reads but has limited querying capabilities and no SLA on read latency. Option D supports read replicas but replication is asynchronous with no sub-10ms global latency guarantee.
Question 25: Designing a Data Lake Architecture
An analytics team needs to ingest raw CSV and JSON files from IoT sensors, transform the data, and serve curated datasets to Power BI. They need to organize data into raw, enriched, and curated layers. The solution should use the most cost-effective storage for each layer.
Which storage approach should you recommend?
A) Use Azure Blob Storage with Hot tier for all three layers
B) Use Azure Data Lake Storage Gen2 with a medallion architecture — raw data on Cool tier, enriched on Hot tier, curated on Hot tier
C) Use three separate Azure SQL databases for raw, enriched, and curated data
D) Use Azure Cosmos DB for all layers with different containers per stage
👁 Reveal Answer
Correct Answer: B
Explanation: Azure Data Lake Storage Gen2 supports hierarchical namespaces ideal for organizing a medallion (bronze/silver/gold) architecture. Placing raw data on Cool tier reduces storage cost for infrequently accessed ingestion data, while enriched and curated layers on Hot tier support frequent analytical queries. Option A uses Hot tier for everything, which wastes money on the raw layer that is rarely re-read after ingestion. Option C forces unstructured sensor data into a relational model, adding unnecessary complexity and cost. Option D uses a NoSQL engine designed for transactional workloads, not analytical lake patterns — it would be significantly more expensive per GB.
Question 26: Choosing Between Cosmos DB APIs
A logistics company is migrating an existing MongoDB application to Azure. The development team wants to minimize code changes. The application uses MongoDB query syntax, aggregation pipelines, and the MongoDB wire protocol. The team also wants a fully managed service with global distribution.
Which Cosmos DB API should you recommend?
A) API for NoSQL (Core SQL)
B) API for MongoDB
C) API for Apache Cassandra
D) API for Table
👁 Reveal Answer
Correct Answer: B
Explanation: The Cosmos DB API for MongoDB is wire-protocol compatible with MongoDB, meaning existing applications using MongoDB drivers, query syntax, and aggregation pipelines can connect to Cosmos DB with minimal code changes. It provides the fully managed, globally distributed Cosmos DB platform underneath. Option A requires rewriting queries to use the SQL-like Cosmos DB query language. Option C is designed for Apache Cassandra workloads using CQL, not MongoDB wire protocol. Option D is a key-value store for simple lookups and does not support MongoDB query patterns.
Question 27: Designing Azure SQL Disaster Recovery
A financial application runs on Azure SQL Database in East US. The business requires that the database fail over automatically to another region with less than 5 seconds of data loss (RPO < 5s) and that the application reconnect without connection string changes. Read-only queries should be offloaded to the secondary.
Which feature should you recommend?
A) Active geo-replication with manual failover
B) Auto-failover groups with read-only listener endpoint
C) Azure SQL Database long-term backup retention with cross-region restore
D) Azure Site Recovery for Azure SQL Database
👁 Reveal Answer
Correct Answer: B
Explanation: Auto-failover groups provide automatic failover with a grace period, a read-write listener endpoint that follows the primary, and a read-only listener endpoint for offloading queries to the secondary — all without connection string changes. The RPO is approximately 5 seconds using asynchronous replication. Option A supports geo-replication but requires manual failover and application-level connection string changes. Option C restores from backups with an RPO of hours (based on backup frequency), far exceeding the 5-second requirement. Option D replicates VMs, not PaaS database services — Azure Site Recovery does not support Azure SQL Database directly.
Question 28: Selecting Access Tiers for Lifecycle Management
A media company stores video files in Azure Blob Storage. New videos are accessed frequently for the first 30 days. After 30 days, access drops sharply but occasional retrieval is still needed. After 180 days, videos are rarely accessed but must be retained for 7 years for legal compliance. Retrieval of archived videos within a few hours is acceptable.
Which lifecycle management policy should you recommend?
A) Hot for 30 days → Cool for 150 days → Archive after 180 days
B) Hot for all 7 years
C) Cool for 30 days → Archive after 30 days
D) Hot for 30 days → Archive after 30 days
👁 Reveal Answer
Correct Answer: A
Explanation: This lifecycle policy matches the access pattern: Hot tier handles frequent access in the first 30 days at the lowest read cost. Cool tier covers the 30–180 day window where occasional access justifies lower storage cost with slightly higher read cost. Archive tier after 180 days provides the cheapest storage for the remaining retention period, and rehydration within hours meets the retrieval requirement. Option B keeps everything on Hot tier for 7 years, resulting in the highest storage costs. Option C starts on Cool tier, which penalizes the frequent reads in the first 30 days with higher access charges. Option D skips the Cool tier entirely, moving directly to Archive where retrieval takes hours — this is fine after 180 days but too aggressive at 30 days when occasional access still occurs.
Question 29: Designing a Non-Relational Data Solution for IoT
An industrial manufacturer deploys 50,000 IoT sensors that generate time-series telemetry data — temperature, pressure, and vibration readings every second. The data must be ingested in real time and retained for 90 days. Analysts query recent data (last 24 hours) frequently but rarely access older records. The solution must scale to handle millions of writes per second.
Which data store should you recommend?
A) Azure SQL Database Hyperscale
B) Azure Data Explorer (ADX)
C) Azure Cosmos DB for NoSQL
D) Azure Table Storage
👁 Reveal Answer
Correct Answer: B
Explanation: Azure Data Explorer (ADX) is purpose-built for high-volume time-series and log analytics. It handles millions of ingestion events per second, supports Kusto Query Language (KQL) for fast analytical queries over recent and historical data, and includes built-in retention policies. Option A is a relational database optimized for transactional workloads, not high-volume time-series ingestion at millions of writes per second. Option C can handle high write throughput but is optimized for transactional point reads, not analytical time-series queries — it would also be significantly more expensive at this ingestion scale. Option D provides basic key-value storage without the analytical query capabilities, retention policies, or ingestion performance needed for this scenario.
Question 30: Securing Data at Rest with Customer-Managed Keys
A healthcare organization stores patient records in Azure SQL Database and Azure Blob Storage. Compliance requires that the organization controls its own encryption keys and can revoke access to encrypted data at any time. The encryption keys must be stored in a FIPS 140-2 Level 2 certified store with soft-delete and purge protection enabled.
Which solution should you recommend?
A) Use Azure-managed encryption keys (service-managed keys) for both services
B) Store encryption keys in Azure Key Vault with soft-delete and purge protection, and configure customer-managed keys (CMK) for both Azure SQL TDE and Blob Storage encryption
C) Use client-side encryption with keys stored in an on-premises HSM
D) Enable double encryption with infrastructure encryption keys managed by Microsoft
👁 Reveal Answer
Correct Answer: B
Explanation: Azure Key Vault (Standard tier) is FIPS 140-2 Level 2 validated. With soft-delete and purge protection enabled, the organization controls its encryption keys and can revoke access by disabling or deleting the key — rendering the data inaccessible. Both Azure SQL TDE and Blob Storage encryption support customer-managed keys from Key Vault. Option A uses Microsoft-managed keys, so the organization does not control key lifecycle or revocation. Option C provides key control but introduces complexity with on-premises infrastructure and does not leverage Azure-native integration for transparent encryption. Option D adds an infrastructure encryption layer but the keys are still Microsoft-managed, not customer-controlled.
Study Tips for AZ-305 Data Storage Solutions
- Memorize Cosmos DB consistency levels. From strongest to weakest: Strong → Bounded Staleness → Session → Consistent Prefix → Eventual. Know the RU cost and multi-region write implications of each.
- Know when to pick elastic pools. Multiple databases with unpredictable, varying workloads sharing compute resources — that is the elastic pool sweet spot.
- Understand storage redundancy options. LRS (single datacenter), ZRS (cross-zone in-region), GRS (cross-region), GZRS (cross-zone + cross-region). Match each to data sovereignty and availability requirements.
- Practice data lake design patterns. The medallion architecture (raw/enriched/curated) with ADLS Gen2 and lifecycle management policies is a frequent exam theme.
- Don’t confuse auto-failover groups with active geo-replication. Failover groups provide automatic failover and listener endpoints. Geo-replication is manual and requires connection string changes.
Need to review identity and governance? Go back to AZ-305 Questions 11–20: Identity Governance. Start from the beginning with AZ-305 Questions 1–10: Cost Optimization. For official study materials, check the Microsoft Learn path for AZ-305 data storage. Up next: Domain 3 — Design Business Continuity Solutions.