DP-900 Practice Question: Describe considerations for working with non-relational data on Azure
A company stores user profile data in Azure Blob Storage as JSON files. Each file represents one user. They need to provide real-time search capabilities on user attributes like name, email, and location. The search must support partial matches and return results within 500 ms. The data volume is 10 TB and grows by 1 GB daily. They have a limited budget and want to minimize operational overhead. Which Azure solution should they choose?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use Azure Cognitive Search to index the JSON files and provide search capabilities.
Azure Cognitive Search is the correct choice because it is a fully managed search service that can index JSON documents stored in Azure Blob Storage and provide real-time, low-latency full-text search with support for partial matches (e.g., prefix, wildcard, and fuzzy queries), easily meeting the 500 ms requirement while minimizing operational overhead and cost. Cosmos DB (A) is a transactional database, not a search engine, and its SQL API does not natively support partial-match full-text search without additional indexing complexity and higher cost. Azure Data Lake Analytics with U-SQL (B) is a batch analytics service, not designed for real-time sub-second search, and it has significant operational overhead. Azure SQL Database full-text indexes (D) can support some text search, but loading 10 TB of JSON and scaling for low-latency partial-match search would be more expensive and operationally heavier than Cognitive Search.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Import the JSON files into Azure Cosmos DB and use the SQL API to search.
Why it's wrong here
Cosmos DB's SQL API performs exact and range queries; substring or partial matching across name, email and location requires scanning, which cannot meet 500 ms at 10 TB, and its per-RU cost conflicts with the limited budget. It suits globally distributed transactional workloads keyed by partition, not ad-hoc text search.
- ✗
Use Azure Data Lake Analytics with U-SQL to query the files.
Why it's wrong here
U-SQL is a batch analytics language over Data Lake Storage; it offers no inverted index, so partial-match queries scan all 10 TB and cannot return within 500 ms. It is tempting because it queries JSON in place without loading, and would be correct for scheduled large-scale aggregation rather than interactive search.
- ✓
Use Azure Cognitive Search to index the JSON files and provide search capabilities.
Why this is correct
Azure Cognitive Search builds a full-text index over the JSON blobs, supporting partial matches and sub-500 ms queries without managing servers. Its consumption pricing and minimal operational overhead satisfy the budget, latency and low-maintenance constraints.
- ✗
Load the data into Azure SQL Database and create full-text indexes.
Why it's wrong here
Full-text indexes in Azure SQL Database support word and prefix matching, not arbitrary substring matching, and 10 TB exceeds practical single-database sizing while adding provisioning overhead. It is tempting because full-text search is familiar and relational, and would be correct for smaller structured datasets needing exact or prefix term lookups.
Quick reference
Azure Blob Storage Tier Comparison
| Tier | Storage Cost | Retrieval Cost | Latency | Use Case |
|---|---|---|---|---|
| Hot | Highest | Lowest | Immediate | Active data, frequent reads |
| Cool | Lower | Higher | Immediate | Data accessed < once / month |
| Cold | Lower still | Higher | Immediate | Data accessed < once / quarter |
| Archive | Lowest | Highest + rehydration delay | Hours | Long-term compliance retention |
Go deeper
Related to this question
Learn chapter
Cosmos DB APIs: Core SQL, MongoDB, Cassandra, Gremlin
Key term
Azure SQL Database
Azure SQL Database is a fully managed relational database-as-a-service (DBaaS) in Microsoft Azure, based on the SQL Server engine, that handles scaling, backups, patching, and high availability automatically.
Key term
Service
A service is a software component or system that performs a specific function and is available to be used by other programs or users over a network.
About these practice questions
This DP-900 question is part of Courseiva's 851-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-900 exam.