DBS-C01 Workload-Specific Database Design Practice Question
A company is designing a database for a global IoT application that ingests millions of events per second. Each event includes a device ID, timestamp, and sensor readings. The requirement is to store data for historical analysis and to support queries that aggregate data by device ID over time ranges. The team needs a cost-effective solution that can scale write throughput. Which database design is most appropriate?
⚠ Common exam trap
It's easy for candidates to choose Amazon RDS or Redshift because they are familiar with SQL and time-series databases, but they overlook the critical requirement for extreme write scalability and cost-effectiveness that DynamoDB's serverless model provides for IoT workloads.
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 Amazon DynamoDB with a table keyed by device ID (partition) and timestamp (sort).
Amazon DynamoDB with a composite primary key of device ID (partition key) and timestamp (sort key) is ideal for this IoT workload because it provides scalable write throughput to handle millions of events per second, while the sort key enables efficient time-range queries and aggregation by device ID. DynamoDB's fully managed, serverless architecture ensures cost-effectiveness by automatically scaling capacity and charging only for consumed resources, making it suitable for high-velocity time-series data.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use Amazon DynamoDB with a table keyed by device ID (partition) and timestamp (sort).
Why this is correct
DynamoDB supports massive write throughput and efficient querying by device and time range.
- ✗
Use Amazon RDS for MySQL with Multi-AZ and auto-scaling storage.
Why it's wrong here
RDS cannot handle millions of writes per second and is not designed for IoT ingestion rates.
- ✗
Use Amazon Redshift with a schema optimized for time-series data.
Why it's wrong here
Redshift is for analytics and batch loading, not real-time high-volume writes.
- ✗
Use Amazon ElastiCache for Redis with persistence enabled.
Why it's wrong here
ElastiCache is in-memory and costly for large historical datasets.
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
About these practice questions
This DBS-C01 question is part of Courseiva's 1,663-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 →
Same concept, more angles
1 more way this is tested on DBS-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company is designing a database for an IoT application that ingests sensor data from thousands of devices. Each device sends a reading every minute. The data includes device_id, timestamp, temperature, humidity, and pressure. The application needs to store this data and support queries that retrieve all readings for a specific device within a time range. The company expects high write throughput and moderate read frequency. The data must be stored with high durability. Which TWO database designs are appropriate for this workload? (Choose TWO.)
medium- A.Use Amazon DynamoDB with device_id as partition key and store all readings for a device as a list attribute in a single item, updating the list every minute.
- B.Use Amazon S3 to store compressed JSON files per device per hour, and query using Amazon Athena.
- ✓ C.Use Amazon DynamoDB with device_id as partition key and timestamp as sort key.
- D.Use Amazon RDS for MySQL with a single table and index on device_id and timestamp.
- ✓ E.Use Amazon Timestream, a time series database, with device_id as dimension and timestamp as time column.
Why C: DynamoDB's partition key (device_id) and sort key (timestamp) design allows efficient retrieval of all readings for a specific device within a time range using a Query operation with a KeyConditionExpression on the sort key. This schema supports high write throughput by distributing writes across partitions based on device_id, and DynamoDB's multi-AZ replication provides high durability.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DBS-C01 practice question is part of Courseiva's free Amazon Web Services 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 DBS-C01 exam.