Courseiva

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

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

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 →

How Courseiva writes practice questions · Editorial policy

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.