Bird
Raised Fist0
DynamoDBquery~10 mins

Why automatic expiration manages data lifecycle in DynamoDB - Test Your Understanding

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

Complete the code to enable automatic expiration on a DynamoDB table by specifying the TTL attribute.

DynamoDB
aws dynamodb update-time-to-live --table-name MyTable --time-to-live-specification Enabled=true, AttributeName=[1]
Drag options to blanks, or click blank then click option'
AExpirationTime
BDeleteAt
CTTL
DExpireOn
Attempts:
3 left
💡 Hint
Common Mistakes
Using attribute names like 'ExpirationTime' or 'DeleteAt' which are not recognized by DynamoDB TTL.
2fill in blank
medium

Complete the code to query items that have not yet expired by filtering on the TTL attribute.

DynamoDB
SELECT * FROM MyTable WHERE [1] > unixTimestamp(CURRENT_TIMESTAMP)
Drag options to blanks, or click blank then click option'
ADeleteAt
BTTL
CExpirationTime
DExpireOn
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect attribute names that do not match the TTL attribute.
3fill in blank
hard

Fix the error in the TTL configuration command by selecting the correct option for enabling TTL.

DynamoDB
aws dynamodb update-time-to-live --table-name MyTable --time-to-live-specification Enabled=[1], AttributeName=TTL
Drag options to blanks, or click blank then click option'
Atrue
BTrue
C"true"
DTRUE
Attempts:
3 left
💡 Hint
Common Mistakes
Using capitalized or quoted boolean values causing syntax errors.
4fill in blank
hard

Fill both blanks to create a DynamoDB table with TTL enabled on the 'TTL' attribute.

DynamoDB
aws dynamodb create-table --table-name MyTable --attribute-definitions AttributeName=ID,AttributeType=S --key-schema AttributeName=ID,KeyType=HASH --billing-mode PAY_PER_REQUEST --[1] Enabled=true,AttributeName=[2]
Drag options to blanks, or click blank then click option'
Atime-to-live-specification
Btime-to-live
Cttl
Dttl-specification
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect parameter names like 'ttl' or 'ttl-specification' which are invalid.
5fill in blank
hard

Fill all three blanks to write a DynamoDB expression that deletes expired items based on the TTL attribute.

DynamoDB
DELETE FROM MyTable WHERE [1] <= unixTimestamp([2]) AND [3] = true
Drag options to blanks, or click blank then click option'
ATTL
BCURRENT_TIMESTAMP
CisExpired
DExpirationFlag
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect attribute names or missing the expiration flag condition.

Practice

(1/5)
1. What is the main benefit of using automatic expiration (TTL) in DynamoDB to manage data lifecycle?
easy
A. It requires manual deletion of expired items.
B. It increases the storage size of the table.
C. It automatically deletes expired data without manual intervention.
D. It slows down query performance.

Solution

  1. Step 1: Understand TTL purpose in DynamoDB

    TTL (Time To Live) is designed to automatically remove items after a set expiration time.
  2. Step 2: Identify the benefit of automatic expiration

    This automatic removal means no manual cleanup is needed, reducing maintenance effort.
  3. Final Answer:

    It automatically deletes expired data without manual intervention. -> Option C
  4. Quick Check:

    Automatic deletion = It automatically deletes expired data without manual intervention. [OK]
Hint: TTL auto-removes expired data, no manual cleanup needed [OK]
Common Mistakes:
  • Thinking TTL increases storage size
  • Assuming manual deletion is still required
  • Believing TTL slows down queries
2. Which of the following is the correct way to define a TTL attribute in a DynamoDB item?
easy
A. { "ttl": 1717262400 }
B. { "ttl": "2024-06-01T12:00:00Z" }
C. { "ttl": true }
D. { "ttl": "expired" }

Solution

  1. Step 1: Recall TTL attribute format

    TTL requires a Unix epoch time (number of seconds since Jan 1, 1970) as a number.
  2. Step 2: Identify correct TTL value type

    { "ttl": 1717262400 } uses a numeric Unix epoch timestamp, which is correct for TTL.
  3. Final Answer:

    { "ttl": 1717262400 } -> Option A
  4. Quick Check:

    TTL = Unix epoch number [OK]
Hint: TTL must be a Unix epoch number, not string or boolean [OK]
Common Mistakes:
  • Using ISO date string instead of Unix epoch
  • Setting TTL as boolean true
  • Using non-numeric strings for TTL
3. Given the following DynamoDB item with TTL set to 1717262400 (Unix epoch time), what happens after that time passes?
{ "id": "123", "data": "sample", "ttl": 1717262400 }
medium
A. The item is automatically deleted by DynamoDB.
B. The item causes an error when TTL expires.
C. The item is archived but not deleted.
D. The item remains in the table indefinitely.

Solution

  1. Step 1: Understand TTL expiration effect

    When the current time passes the TTL timestamp, DynamoDB marks the item for deletion.
  2. Step 2: Identify DynamoDB behavior on expired items

    DynamoDB automatically deletes expired items without user action.
  3. Final Answer:

    The item is automatically deleted by DynamoDB. -> Option A
  4. Quick Check:

    TTL expiry triggers auto-deletion [OK]
Hint: Expired TTL items get auto-deleted by DynamoDB [OK]
Common Mistakes:
  • Thinking items stay forever after TTL
  • Assuming items are archived instead of deleted
  • Believing TTL expiration causes errors
4. You set a TTL attribute on your DynamoDB table items, but expired items are not being deleted. What is the most likely cause?
medium
A. The TTL attribute is set as a string instead of a number.
B. The TTL feature is not enabled on the table.
C. The table has no primary key defined.
D. The items have no attribute named 'ttl'.

Solution

  1. Step 1: Check TTL feature activation

    TTL must be enabled on the DynamoDB table to work; just setting attribute is not enough.
  2. Step 2: Identify common misconfiguration

    If TTL is not enabled, expired items will not be deleted automatically.
  3. Final Answer:

    The TTL feature is not enabled on the table. -> Option B
  4. Quick Check:

    TTL must be enabled on table [OK]
Hint: Enable TTL on table, not just set attribute [OK]
Common Mistakes:
  • Assuming TTL works without enabling it
  • Confusing attribute type with feature activation
  • Ignoring missing TTL attribute on items
5. You want to keep user session data in DynamoDB but automatically remove sessions older than 24 hours. Which approach best uses automatic expiration to manage this lifecycle?
hard
A. Manually scan and delete sessions older than 24 hours every hour.
B. Disable TTL and rely on application logic to remove old sessions.
C. Store session expiration as a string date and delete manually.
D. Add a TTL attribute with the session creation time plus 86400 seconds (24 hours).

Solution

  1. Step 1: Calculate TTL for session expiration

    TTL should be set as Unix epoch time when the session expires, i.e., creation time + 86400 seconds.
  2. Step 2: Use DynamoDB TTL to automate deletion

    Setting TTL this way lets DynamoDB auto-delete sessions after 24 hours without manual work.
  3. Final Answer:

    Add a TTL attribute with the session creation time plus 86400 seconds (24 hours). -> Option D
  4. Quick Check:

    TTL = creation time + 24h seconds [OK]
Hint: TTL = creation timestamp + 86400 seconds for 24h expiry [OK]
Common Mistakes:
  • Using manual deletion instead of TTL
  • Storing expiration as string, not Unix epoch
  • Disabling TTL and relying on app logic
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