Describe considerations for working with non-relational data on Azure →mediumMultiple ChoiceObjective-mapped
DP-900 Practice Question: Describe considerations for working with non-relational data on Azure
A social media analytics company needs to store large amounts of user activity logs. Each log entry contains a timestamp, user ID, activity type, and a dynamic set of custom attributes (e.g., page viewed, time spent). The application requires low-latency writes and point reads by a composite key (user ID and timestamp). The data is rarely updated after insertion. The company wants a fully managed NoSQL database that supports serverless throughput and automatic expiration of old logs (TTL). Which Azure Cosmos DB API should they choose?
⚠ Common exam trap
A common mix-up: candidates choose the NoSQL API (Core/SQL API) because it is the most well-known Cosmos DB API, but they overlook that the Table API is specifically optimized for high-volume, low-latency key-value workloads with composite keys and automatic TTL, making it the correct choice for log data with dynamic attributes.
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
✓
Table API
The Table API is the correct choice because it provides a fully managed, serverless NoSQL database with automatic TTL (Time-to-Live) for data expiration, low-latency point reads and writes by a composite key (partition key + row key), and is optimized for storing large volumes of structured log data with dynamic attributes. It supports the exact requirements: high-throughput writes, point queries by user ID and timestamp, and automatic expiration of old logs without manual intervention.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Table API
Why this is correct
The Table API is built for key-value stores and supports a schema-less design with composite keys (PartitionKey + RowKey). It also supports serverless throughput and TTL (time-to-live) to automatically delete old entries, fitting the activity log use case.
- ✗
NoSQL API (Core/SQL API)
Why it's wrong here
The NoSQL API is for document data with flexible schemas and rich querying. While it supports TTL and serverless, it is more complex than needed for a simple key-value log. The Table API is more cost-effective and simpler for this exact pattern.
- ✗
Cassandra API
Why it's wrong here
The Cassandra API provides Cassandra-compatible column-family storage. It requires using the Cassandra Query Language (CQL) and is designed for wide-column workloads. It is overkill for simple key-value logs and does not natively support TTL via Cosmos DB settings (though Cassandra has TTL, integration can be less straightforward).
- ✗
Gremlin API
Why it's wrong here
The Gremlin API in Azure Cosmos DB is a graph query engine that models data as vertices (entities) and edges (relationships), optimized for traversing connected structures like social networks, recommendation engines, or fraud rings. Activity logs are inherently an append-heavy, time-ordered sequence of events, not a topology of interlinked entities; forcing them into a graph model would require synthetic relationships that add complexity and degrade performance for range-based time queries. Moreover, Gremlin's traversal-centric query language (Gremlin steps like `out()` and `has()`) is far less natural for simple 'get log entries by timestamp and user ID' operations than the key-value lookup offered by the Table API. Thus, while Cosmos DB supports Gremlin, it is an architectural mismatch for a key-value activity log use case.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
Learn chapter
Data Roles and Core Concepts
Key term
Partition key
A partition key is a value used by database systems to distribute data across multiple storage partitions, enabling faster queries and efficient scaling.
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
About these practice questions
Courseiva writes every DP-900 question from scratch — 820 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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.