Bird
Raised Fist0
DynamoDBquery~10 mins

Cost estimation for access patterns in DynamoDB - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the read capacity units for a DynamoDB table.

DynamoDB
ProvisionedThroughput={"ReadCapacityUnits": [1], "WriteCapacityUnits": 5}
Drag options to blanks, or click blank then click option'
A0
B10
C-5
D"five"
Attempts:
3 left
💡 Hint
Common Mistakes
Using zero or negative numbers for capacity units.
Using strings instead of numbers.
2fill in blank
medium

Complete the code to calculate the total cost for 1000 read requests with a cost of $0.00013 per read unit.

DynamoDB
total_cost = 1000 * [1]
Drag options to blanks, or click blank then click option'
A0.013
B0.0013
C0.00013
D0.000013
Attempts:
3 left
💡 Hint
Common Mistakes
Using a wrong cost value like 0.0013 instead of 0.00013.
Confusing cost per write with cost per read.
3fill in blank
hard

Fix the error in the code to correctly estimate the write capacity units needed for 500 writes per second with each write consuming 2 WCUs.

DynamoDB
required_wcu = 500 [1] 2
Drag options to blanks, or click blank then click option'
A/
B-
C+
D*
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition instead of multiplication.
Dividing instead of multiplying.
4fill in blank
hard

Fill both blanks to create a DynamoDB query that filters items with attribute 'status' equal to 'active' and limits results to 10.

DynamoDB
response = table.query(KeyConditionExpression=[1], Limit=[2])
Drag options to blanks, or click blank then click option'
AKey('status').eq('active')
BKey('status').ne('active')
C5
D10
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'ne' (not equal) instead of 'eq' (equal).
Setting limit to a wrong number.
5fill in blank
hard

Fill all three blanks to create a DynamoDB update expression that sets 'score' to 100 only if the current 'score' is less than 100.

DynamoDB
response = table.update_item(Key=[1], UpdateExpression=[2], ConditionExpression=[3])
Drag options to blanks, or click blank then click option'
A{"id": "123"}
B"SET score = :val"
C"score < :val"
D{"user": "123"}
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong key attribute name.
Missing 'SET' in update expression.
Using wrong condition expression.

Practice

(1/5)
1. In DynamoDB, what primarily determines the cost of your database usage?
easy
A. The number of read and write operations per second
B. The number of tables you create
C. The size of your database backup files
D. The number of indexes you define

Solution

  1. Step 1: Understand DynamoDB cost factors

    DynamoDB charges mainly based on how many read and write requests you perform per second.
  2. Step 2: Identify the main cost driver

    While backups and indexes can affect cost, the primary cost is from read/write capacity usage.
  3. Final Answer:

    The number of read and write operations per second -> Option A
  4. Quick Check:

    Cost depends on read/write operations [OK]
Hint: Focus on read/write operations for cost estimation [OK]
Common Mistakes:
  • Thinking table count directly affects cost
  • Confusing backup size with operational cost
  • Assuming indexes alone drive cost
2. Which of the following is the correct way to calculate the read capacity units (RCUs) for a strongly consistent read of a 3 KB item in DynamoDB?
easy
A. 4 RCUs per 3 KB read
B. 2 RCUs per 3 KB read
C. 0.5 RCU per 3 KB read
D. 1 RCU per 3 KB read

Solution

  1. Step 1: Recall RCU calculation for strongly consistent reads

    One RCU allows reading up to 4 KB per second for strongly consistent reads.
  2. Step 2: Calculate RCUs for 3 KB item

    Since 3 KB is less than 4 KB, it requires 1 RCU.
  3. Final Answer:

    1 RCU per 3 KB read -> Option D
  4. Quick Check:

    Strongly consistent read 4 KB = 1 RCU [OK]
Hint: 1 RCU per 4 KB strongly consistent read [OK]
Common Mistakes:
  • Confusing strongly consistent with eventually consistent reads
  • Miscalculating item size rounding
  • Assuming 1 RCU per KB
3. You have a DynamoDB table with items of size 6 KB. You perform 100 eventually consistent reads per second. How many read capacity units (RCUs) do you need?
medium
A. 150 RCUs
B. 100 RCUs
C. 300 RCUs
D. 200 RCUs

Solution

  1. Step 1: Calculate RCUs per read for eventually consistent reads

    One RCU allows reading 8 KB per second for eventually consistent reads, which is half the cost of strongly consistent reads.
  2. Step 2: Calculate RCUs needed for 6 KB item

    6 KB item requires 2 RCUs for strongly consistent reads (since 6 KB > 4 KB, round up to 2). For eventually consistent reads, it costs half, so 1 RCU per read.
  3. Step 3: Calculate total RCUs for 100 reads

    100 reads x 1 RCU = 100 RCUs.
  4. Step 4: Correct calculation

    Since 6 KB is more than 4 KB, for eventually consistent reads, each read consumes ceil(6/4) = 2 RCUs * 0.5 = 1 RCU per read. So total 100 RCUs.
  5. Final Answer:

    100 RCUs -> Option B
  6. Quick Check:

    6 KB item eventually consistent read = 1 RCU per read [OK]
Hint: Eventually consistent reads cost half RCUs [OK]
Common Mistakes:
  • Using strongly consistent read calculation for eventually consistent
  • Not rounding up item size to nearest 4 KB
  • Multiplying incorrectly by number of reads
4. A developer estimates write capacity units (WCUs) for 1 KB items but forgets to account for item size correctly. The code calculates 1 WCU per write regardless of size. What is the likely issue?
medium
A. Incorrectly calculating read capacity units instead
B. Overestimating WCUs for items smaller than 1 KB
C. Underestimating WCUs for items larger than 1 KB
D. No issue, 1 WCU per write is always correct

Solution

  1. Step 1: Understand WCU calculation for item size

    One WCU allows writing 1 KB per second. Larger items require more WCUs, rounded up.
  2. Step 2: Identify problem with fixed 1 WCU per write

    If item size > 1 KB, fixed 1 WCU underestimates needed capacity, causing throttling or errors.
  3. Final Answer:

    Underestimating WCUs for items larger than 1 KB -> Option C
  4. Quick Check:

    WCU depends on item size, fixed 1 WCU is wrong [OK]
Hint: Always multiply WCU by item size in KB rounded up [OK]
Common Mistakes:
  • Assuming 1 WCU fits all item sizes
  • Confusing read and write capacity units
  • Ignoring item size when estimating capacity
5. You want to estimate the monthly cost of a DynamoDB table with 50 writes per second of 2 KB items and 100 strongly consistent reads per second of 3 KB items. The price per WCU is $0.00065 and per RCU is $0.00013. What is the approximate monthly cost (30 days)?
hard
A. $56.16
B. $18.72
C. $28.08
D. $36.00

Solution

  1. Step 1: Calculate WCUs needed

    Each 2 KB write requires 2 WCUs (ceil(2/1 KB)). 50 writes/sec x 2 = 100 WCUs.
  2. Step 2: Calculate RCUs needed

    Each 3 KB strongly consistent read requires 1 RCU (ceil(3/4 KB)). 100 reads/sec x 1 = 100 RCUs.
  3. Step 3: Hourly cost

    WCUs: 100 x $0.00065 = $0.065. RCUs: 100 x $0.00013 = $0.013. Total: $0.078/hr.
  4. Step 4: Monthly cost

    $0.078 x 24 hrs/day x 30 days = $56.16.
  5. Final Answer:

    $56.16 -> Option A
  6. Quick Check:

    Calculate WCUs and RCUs x price x time [OK]
Hint: Multiply capacity units by price and hours in month [OK]
Common Mistakes:
  • Not rounding item size to nearest KB
  • Mixing hourly and monthly rates
  • Ignoring strongly consistent read cost
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard