Courseiva
Data Store ManagementhardMultiple ChoiceObjective-mapped

DEA-C01 Data Store Management Practice Question

A gaming company uses Amazon DynamoDB to store player profiles and game state. The table has a partition key of 'player_id' and no sort key. The table is provisioned with 5,000 RCUs and 5,000 WCUs. The application performs frequent reads and writes to update player scores. Recently, the company introduced a new feature that allows players to form guilds. The guild data is stored in a separate DynamoDB table with a partition key of 'guild_id'. The application often needs to retrieve all members of a guild. The data engineer is encountering high latency when querying the guild table because the guilds can have up to 100 members. The engineer wants to reduce latency without changing the application architecture. What should the data engineer do?

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

Create a global secondary index (GSI) on the guild table with partition key guild_id and sort key member_id.

Adding a global secondary index (GSI) on the guild table with guild_id as the partition key and member_id as the sort key allows efficient queries for all members of a guild. Option A is wrong because increasing capacity may not solve the access pattern issue. Option C is wrong because DynamoDB Streams are for change data capture, not for query optimization. Option D is wrong because DAX caches read results; if the query pattern is inefficient, DAX won't help much.

Answer analysis

Option-by-option breakdown

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

  • Increase the provisioned read and write capacity for the guild table to 10,000 RCUs and 10,000 WCUs.

    Why it's wrong here

    Higher capacity may reduce throttling but does not address the inefficient query pattern.

  • Create a global secondary index (GSI) on the guild table with partition key guild_id and sort key member_id.

    Why this is correct

    The GSI allows efficient retrieval of all members of a guild by querying on guild_id.

  • Enable DynamoDB Streams on the guild table and process the stream to populate a separate read table.

    Why it's wrong here

    Enabling DynamoDB Streams and processing them to populate a separate read table does not directly address the high latency encountered when querying the *original* guild table for all members. This approach primarily facilitates data denormalisation or propagation for different access patterns, rather than optimising the read performance of a `Query` operation on the source table itself. It is tempting because streams are excellent for creating read replicas or indexes for *alternative* access patterns, such as full-text search or analytics, where the original table's schema is unsuitable.

  • Use DynamoDB Accelerator (DAX) to cache the results of the guild queries.

    Why it's wrong here

    DAX caches responses but does not change the query pattern; the query will still be inefficient.

About these practice questions

Courseiva writes every DEA-C01 question from scratch — 1,711 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 DEA-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 DEA-C01 exam.