0
0
DynamoDBquery~20 mins

Index capacity and cost in DynamoDB - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Index Capacity Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
How does a Global Secondary Index (GSI) affect write capacity?

In DynamoDB, when you add a Global Secondary Index (GSI) to a table, how does it impact the write capacity units (WCUs) consumed?

AWrites consume WCUs for the base table, but GSIs consume read capacity units (RCUs) instead.
BWrites only consume WCUs for the base table; GSIs do not affect write capacity.
CWrites to the table consume WCUs for both the base table and the GSI, effectively doubling the write capacity usage.
DWrites consume WCUs only for the GSI, not the base table.
Attempts:
2 left
💡 Hint

Think about how data is duplicated in GSIs.

query_result
intermediate
2:00remaining
Calculate read capacity units for a query on a Local Secondary Index (LSI)

You have a DynamoDB table with 4 KB items. You query a Local Secondary Index (LSI) and retrieve 3 items. How many read capacity units (RCUs) are consumed if you use eventually consistent reads?

A2 RCUs
B6 RCUs
C1 RCUs
D12 RCUs
Attempts:
2 left
💡 Hint

Each 4 KB item read with eventually consistent reads consumes 0.5 RCU.

📝 Syntax
advanced
2:30remaining
Identify the correct syntax to create a GSI with provisioned capacity

Which of the following AWS CLI commands correctly creates a Global Secondary Index (GSI) with provisioned read and write capacity?

DynamoDB
aws dynamodb update-table --table-name Music --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=AlbumTitle,AttributeType=S --global-secondary-index-updates '[{"Create":{"IndexName":"ArtistAlbumIndex","KeySchema":[{"AttributeName":"Artist","KeyType":"HASH"},{"AttributeName":"AlbumTitle","KeyType":"RANGE"}],"Projection":{"ProjectionType":"ALL"},"ProvisionedThroughput":{"ReadCapacityUnits":5,"WriteCapacityUnits":5}}}]'
AThe command is missing the --provisioned-throughput flag outside the GSI definition.
BThe command as shown is correct and will create the GSI with provisioned capacity.
CThe KeySchema must have only one attribute for a GSI, so this command is invalid.
DThe ProjectionType must be KEYS_ONLY for provisioned GSIs, so this command will fail.
Attempts:
2 left
💡 Hint

Check the JSON structure inside the --global-secondary-index-updates parameter.

optimization
advanced
2:30remaining
Optimize read capacity usage for a frequently queried attribute

You have a DynamoDB table with a large number of items. You frequently query by a non-key attribute. Which approach optimizes read capacity usage?

AAdd the attribute as a sort key in the base table and query with a filter expression.
BScan the entire table and filter results on the client side.
CUse a Local Secondary Index (LSI) on that attribute and query it.
DCreate a Global Secondary Index (GSI) on that attribute and query the GSI instead of the base table.
Attempts:
2 left
💡 Hint

Think about how indexes reduce the amount of data scanned.

🔧 Debug
expert
3:00remaining
Diagnose unexpected high write capacity consumption with GSIs

A DynamoDB table has two GSIs. Suddenly, write capacity usage spikes unexpectedly. Which is the most likely cause?

AThe GSIs have large projected attributes causing more data to be written and higher WCUs consumed.
BThe table's read capacity units are too low, causing throttling on writes.
CThe table's partition key was changed, invalidating the GSIs and causing retries.
DThe GSIs are using eventually consistent reads, which double the write capacity usage.
Attempts:
2 left
💡 Hint

Consider how projected attributes affect write costs.