Courseiva
Workload-Specific Database DesignhardMultiple ChoiceObjective-mapped

DBS-C01 Workload-Specific Database Design Practice Question

A healthcare company stores patient records in Amazon DynamoDB. Each record includes patient_id (partition key), visit_date (sort key), and a large JSON attribute for medical history. The application frequently queries recent visits for a patient and scans historical data for analytics. The scans on the medical history attribute cause high RCU consumption. The company wants to reduce costs and improve query performance. Which design should be implemented?

⚠ Common exam trap

It's easy for candidates to choose compression (Option A) thinking it reduces storage and read costs, but DynamoDB does not natively support compression and charges based on the actual stored item size, so compression must be handled at the application layer and does not reduce RCU consumption.

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

Move the medical history attribute to a separate table with patient_id as partition key and visit_date as sort key. Use DynamoDB Streams to keep both tables in sync.

It separates the large, infrequently accessed medical history attribute from the frequently queried core record, reducing the item size for common queries and thus lowering RCU consumption. By using DynamoDB Streams to synchronize the two tables, you maintain data consistency without adding complexity to the application, and queries against the main table become faster and cheaper since they no longer read the large JSON payload.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Compress the medical history attribute using gzip before storing in DynamoDB.

    Why it's wrong here

    Compression reduces storage but not RCU consumption because DynamoDB reads the entire item.

  • Move the medical history attribute to a separate table with patient_id as partition key and visit_date as sort key. Use DynamoDB Streams to keep both tables in sync.

    Why this is correct

    Separating the large attribute reduces RCU consumption for queries that do not need it.

  • Enable DynamoDB Accelerator (DAX) for the table to cache frequent queries.

    Why it's wrong here

    DAX does not reduce the cost of scanning large attributes.

  • Use Amazon S3 to store the medical history as a separate object and reference it from DynamoDB.

    Why it's wrong here

    This adds complexity and latency for accessing medical history.

About these practice questions

Courseiva writes every DBS-C01 question from scratch — 1,663 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 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.