TTL stands for Time To Live. It is a feature that automatically deletes expired items from a DynamoDB table.
Click to reveal answer
beginner
How does DynamoDB determine when to delete an item using TTL?
DynamoDB checks the timestamp attribute you specify for TTL. When the current time passes this timestamp, the item becomes eligible for deletion.
Click to reveal answer
intermediate
Does DynamoDB delete expired items immediately after the TTL timestamp passes?
No. DynamoDB deletes expired items within 48 hours after the TTL timestamp passes. The deletion is not immediate but happens asynchronously.
Click to reveal answer
intermediate
What happens if you update the TTL attribute of an item before it expires?
If you update the TTL attribute to a new future timestamp, DynamoDB will use the updated timestamp to determine when to delete the item. This can delay or cancel the deletion.
Click to reveal answer
advanced
Can you recover an item after DynamoDB deletes it due to TTL expiration?
No. Once DynamoDB deletes an item due to TTL expiration, it cannot be recovered. You should back up important data before it expires.
Click to reveal answer
What is the main purpose of TTL in DynamoDB?
AAutomatically delete expired items
BEncrypt data at rest
CBackup data regularly
DImprove query speed
✗ Incorrect
TTL automatically deletes items after their expiration time to save storage and manage data lifecycle.
When does DynamoDB delete an item after its TTL timestamp has passed?
AImmediately
BAfter 7 days
CWithin 48 hours
DOnly when manually triggered
✗ Incorrect
DynamoDB deletes expired items asynchronously within 48 hours after the TTL timestamp.
Which attribute type must the TTL attribute be in DynamoDB?
AString
BList
CBoolean
DNumber (Unix epoch time in seconds)
✗ Incorrect
TTL attribute must be a Number representing Unix epoch time in seconds.
If you remove the TTL attribute from an item before expiration, what happens?
AItem is deleted immediately
BItem will not be deleted by TTL
CItem is archived
DItem is locked
✗ Incorrect
Without the TTL attribute, DynamoDB does not consider the item for TTL deletion.
Can TTL be used to trigger custom actions when an item expires?
AYes, via DynamoDB Streams and Lambda
BNo, TTL only deletes items
CYes, directly within DynamoDB
DNo, TTL archives items instead
✗ Incorrect
You can use DynamoDB Streams with Lambda to react to item deletions caused by TTL.
Explain how TTL works in DynamoDB and its timing behavior.
Think about how DynamoDB knows when to delete and when it actually deletes.
You got /4 concepts.
Describe what happens if you update or remove the TTL attribute on an item before it expires.
Consider how DynamoDB uses the TTL attribute to decide deletion.
You got /3 concepts.
Practice
(1/5)
1. What does TTL (Time To Live) do in DynamoDB?
easy
A. Encrypts data stored in the table.
B. Backs up data periodically.
C. Automatically deletes items after their expiration time.
D. Indexes data for faster queries.
Solution
Step 1: Understand TTL purpose
TTL is designed to remove expired data automatically to save storage and keep data fresh.
Step 2: Identify TTL behavior
It deletes items after their expiration timestamp passes, not encrypting or backing up data.
Final Answer:
Automatically deletes items after their expiration time. -> Option C
Quick Check:
TTL = automatic deletion [OK]
Hint: TTL means automatic deletion after expiry [OK]
Common Mistakes:
Thinking TTL encrypts data
Confusing TTL with backup
Assuming TTL speeds up queries
2. Which attribute type must the TTL attribute have in DynamoDB?
easy
A. String representing a date in ISO format
B. Number representing Unix epoch time in seconds
C. Boolean indicating if item is expired
D. List of timestamps
Solution
Step 1: Recall TTL attribute format
The TTL attribute must be a number storing the expiration time as Unix epoch seconds.
Step 2: Eliminate other types
Strings, booleans, or lists are not valid for TTL expiration timestamps.
Final Answer:
Number representing Unix epoch time in seconds -> Option B
Quick Check:
TTL attribute = Unix epoch seconds [OK]
Hint: TTL attribute stores expiration as Unix epoch seconds [OK]
Common Mistakes:
Using string dates instead of numbers
Using boolean instead of timestamp
Trying to store multiple timestamps
3. If an item has a TTL attribute set to 1650000000 (Unix epoch seconds), when will DynamoDB delete it?
medium
A. Within 48 hours after 1650000000 seconds
B. Exactly at 1650000000 seconds
C. Immediately after setting the TTL attribute
D. Only when manually deleted
Solution
Step 1: Understand TTL deletion timing
DynamoDB deletes expired items approximately after the TTL timestamp, not exactly at that second.
Step 2: Recall deletion delay
Deletion can take up to 48 hours after the expiration time to occur.
Final Answer:
Within 48 hours after 1650000000 seconds -> Option A
Quick Check:
TTL deletion delay = up to 48 hours [OK]
Hint: TTL deletion can be delayed up to 48 hours [OK]
Common Mistakes:
Expecting deletion exactly at expiration time
Thinking deletion is immediate
Assuming manual deletion is required
4. You set TTL on an attribute but notice expired items are not deleted after 3 days. What is a likely cause?
medium
A. TTL attribute is not a number with Unix epoch seconds
B. TTL is enabled but the table is in a different AWS region
C. You forgot to enable encryption on the table
D. The table has no primary key
Solution
Step 1: Check TTL attribute format
If the TTL attribute is not a number with Unix epoch seconds, DynamoDB ignores it for expiration.
Step 2: Verify other options
Region difference, encryption, or primary key absence do not prevent TTL deletion.
Final Answer:
TTL attribute is not a number with Unix epoch seconds -> Option A
Quick Check:
TTL attribute format error blocks deletion [OK]
Hint: TTL attribute must be Unix epoch number [OK]
Common Mistakes:
Assuming region affects TTL
Thinking encryption affects TTL
Ignoring TTL attribute data type
5. You want to ensure items expire exactly after 24 hours using TTL. Which approach is best considering DynamoDB's TTL behavior?
hard
A. Disable TTL and run a scheduled job to delete expired items
B. Set TTL attribute to current time + 86400 seconds and manually delete items after 24 hours
C. Use a string date format for TTL attribute for precise timing
D. Set TTL attribute to current time + 86400 seconds and accept up to 48-hour deletion delay
Solution
Step 1: Understand TTL timing limits
DynamoDB TTL deletes items approximately after expiration, with up to 48 hours delay.
Step 2: Choose best practical approach
Setting TTL attribute to current time + 86400 seconds (24 hours) is correct; manual deletion adds complexity and string format is invalid.
Step 3: Consider alternatives
Disabling TTL and scheduling deletes is possible but less efficient than TTL's automatic deletion.
Final Answer:
Set TTL attribute to current time + 86400 seconds and accept up to 48-hour deletion delay -> Option D
Quick Check:
TTL delay means accept approximate expiry [OK]
Hint: TTL deletion timing is approximate, plan accordingly [OK]
Common Mistakes:
Expecting exact deletion timing
Using string instead of number for TTL
Disabling TTL unnecessarily
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.