AZ-305 data storage solutions explained
Design data storage solutions is worth 20–25% of AZ-305. It covers relational data, semi-structured and unstructured data, and data integration and analysis. The exam rarely asks how a database works internally. It describes data, access patterns, scale and budget, and asks which service and which tier you would recommend.
Relational data
Which service
| Service | Choose it when |
|---|---|
| Azure SQL Database | You build or modernise an application and want a managed single database or elastic pool |
| Azure SQL Managed Instance | You lift and shift SQL Server and need near-complete engine compatibility, such as SQL Agent or cross-database queries |
| SQL Server on an Azure VM | You need OS-level control or a feature the managed options lack |
| Managed PostgreSQL or MySQL | The application already targets an open-source engine |
The pattern is always the same: take the most managed service that still meets the compatibility requirement. A requirement for OS access or an unsupported feature pushes you down to a VM; “minimal administration” pushes you up.
Service tier and compute tier
For Azure SQL Database you choose a purchasing model and a service tier:
- General Purpose for most workloads; Business Critical for low latency and built-in readable replicas; Hyperscale for very large databases and rapid scale-out of read replicas.
- Provisioned compute for steady load; serverless for intermittent or unpredictable load, where compute scales with demand and can pause when idle, so you pay for storage while paused.
- Elastic pools share resources across many databases with varied peaks, which is cheaper than sizing each for its own peak.
Scalability and protection
Scale reads with read replicas or read scale-out; scale writes by sharding or by choosing a larger tier. For protection, recommend transparent data encryption (on by default), customer-managed keys where policy demands, Always Encrypted for data hidden even from administrators, dynamic data masking, auditing, and Microsoft Defender for SQL.
Semi-structured and unstructured data
Cosmos DB
Azure Cosmos DB is the globally distributed, multi-model NoSQL database. Recommend it when you need single-digit millisecond latency, flexible schema, elastic scale and multi-region distribution. Know the five consistency levels from strong to eventual, and that multi-region writes are an option when users write from several regions. Strong consistency across regions costs latency, so session or bounded staleness is the usual compromise.
Blob, files and data lake
| Need | Service |
|---|---|
| Objects, images, backups | Blob Storage |
| Analytics with a folder hierarchy | Data Lake Storage Gen2 (a storage account with hierarchical namespace) |
| SMB or NFS file shares | Azure Files; Azure NetApp Files for very high performance |
| Hybrid cached file server | Azure Files with Azure File Sync |
Balance cost and performance with access tiers: hot, cool, cold and archive, plus lifecycle management rules that move data automatically. Archive is cheapest to store but must be rehydrated before reading, so it suits data you almost never open.
Protection and durability
Choose redundancy for durability (LRS, ZRS, GRS, GZRS, and the read-access variants), then add soft delete, versioning and point-in-time restore against accidental deletion, and immutability policies where data must not change. Private endpoints and customer-managed keys address network and key-control requirements.
Data integration and analysis
- Azure Data Factory orchestrates data movement and transformation between cloud and on-premises sources on a schedule or trigger.
- Azure Synapse Analytics and Microsoft Fabric cover warehousing and analytics at scale.
- Azure Databricks suits Spark-based engineering and machine learning.
- Event Hubs with Stream Analytics handles real-time ingestion and processing.
The recommend-level question is usually “pipeline or stream”: scheduled movement points to Data Factory, continuous event processing points to Event Hubs and a stream processor.
Worked example
An online shop needs orders with transactions, a product catalogue read worldwide, user-uploaded images, and a seven-year archive. A sound design: Azure SQL Database (General Purpose, serverless if traffic is spiky) for orders, Cosmos DB for the catalogue, hot-tier Blob Storage for images with a lifecycle rule to cool, and archive-tier immutable blobs for the long-term records.
Practice questions
Question 1. A mobile game has players on three continents. Player profiles are JSON documents, writes must be accepted in the player's nearest region, and reads must take a few milliseconds. Which data store should you recommend?
- A. Azure SQL Database with a read replica in each region
- B. Azure Cosmos DB with multi-region writes
- C. Blob Storage with the cool access tier
- D. Azure Files with a share in each region
Show answer
Answer: B
Cosmos DB supports flexible JSON documents, single-digit millisecond latency and multi-region writes. Azure SQL Database is relational and writes to a single primary region. Blob Storage cannot query documents with low latency. Azure Files is a file share, not a document database.
Want more questions like this? Full AZ-305 practice tests →
Question 2. A small internal application uses an Azure SQL database that is busy for a few hours on weekdays and idle at night and on weekends. The team wants to pay as little as possible for compute and accepts a short delay on the first connection after idle time. Which option should you recommend?
- A. General Purpose with provisioned compute sized for the peak
- B. Business Critical with provisioned compute
- C. General Purpose with serverless compute and auto-pause
- D. SQL Server on a virtual machine that runs continuously
Show answer
Answer: C
The serverless compute tier scales with load and can auto-pause when idle, billing storage but not compute while paused; the first connection after a pause resumes the database. Provisioned compute bills continuously. Business Critical costs more and always runs. A dedicated VM bills all the time and adds administration.
Want more questions like this? Full AZ-305 practice tests →
Question 3. An analytics team wants to store raw data from many sources in cheap storage that supports a folder hierarchy and works with Spark-based analytics tools. Which solution should you recommend?
- A. A storage account with hierarchical namespace (Data Lake Storage Gen2)
- B. Azure SQL Database
- C. Azure Cache for Redis
- D. A managed disk attached to a VM
Show answer
Answer: A
Data Lake Storage Gen2 is a storage account with hierarchical namespace, giving folder semantics and analytics integration at blob prices. Azure SQL Database is relational and expensive for raw files. Azure Cache for Redis is an in-memory cache, not a store for raw data. A managed disk attaches to a single VM and is not an analytics data lake.
Want more questions like this? Full AZ-305 practice tests →
What to do next
Continue with business continuity: the redundancy and replication choices here feed directly into recovery design. The practice test mixes all four domains.