Hint: Use consistent delimiters like ':' in composite keys [OK]
Common Mistakes:
Using inconsistent or unclear delimiters
Mixing delimiters without pattern
Not separating parts clearly
3. Given a DynamoDB table with partition key UserID and composite sort key OrderDate#OrderID, what will be the result of querying for UserID = 'U123' and sort key begins with '2023-05-'?
medium
A. All orders by user U123 placed in May 2023
B. All orders by user U123 regardless of date
C. Orders from all users placed in May 2023
D. No results because sort key format is invalid
Solution
Step 1: Understand the composite sort key structure
The sort key combines OrderDate and OrderID separated by '#', so prefix '2023-05-' matches May 2023 orders.
Step 2: Query with partition key and sort key prefix
Querying UserID='U123' and sort key begins with '2023-05-' returns all U123's orders in May 2023.
Final Answer:
All orders by user U123 placed in May 2023 -> Option A
Hint: Use sort key prefix to filter by date in composite keys [OK]
Common Mistakes:
Ignoring partition key in query
Assuming all users' data is returned
Misunderstanding sort key prefix filtering
4. You wrote a composite sort key as OrderDate-OrderID but your queries using begins_with('2023-06') return no results. What is the likely problem?
medium
A. The sort key should use a consistent delimiter like ':' or '#' instead of '-'
B. The query must use contains instead of begins_with
C. The delimiter '-' is missing in the query filter
D. The partition key is incorrect
Solution
Step 1: Check delimiter consistency in composite keys
Using '-' as delimiter can cause confusion if date format also contains '-'.
Step 2: Understand query prefix matching
Because date and delimiter both use '-', the prefix '2023-06' may not match correctly; consistent delimiters like ':' or '#' avoid this.
Final Answer:
The sort key should use a consistent delimiter like ':' or '#' instead of '-' -> Option A
Quick Check:
Delimiter confusion breaks prefix queries [OK]
Hint: Avoid delimiters that appear in data parts [OK]
Common Mistakes:
Using delimiters that clash with data format
Wrong query function for prefix
Ignoring partition key correctness
5. You want to design a DynamoDB table to store chat messages with partition key ChatRoomID and composite sort key combining MessageDate and MessageID. Which composite sort key format is best to efficiently query messages by date and maintain uniqueness?
hard
A. MessageID#MessageDate with date in any format
B. MessageDate#MessageID with date in ISO format (YYYY-MM-DDTHH:mm:ss)
C. MessageDate-MessageID with date in MM/DD/YYYY
D. MessageDate_MessageID with date as Unix timestamp
Solution
Step 1: Choose delimiter and date format for sorting
Using '#' as delimiter is clear and ISO date format sorts lexicographically by date/time.
Step 2: Ensure uniqueness and query efficiency
Placing MessageDate first allows range queries by date; MessageID ensures uniqueness within same timestamp.
Final Answer:
MessageDate#MessageID with date in ISO format (YYYY-MM-DDTHH:mm:ss) -> Option B
Quick Check:
ISO date + clear delimiter = best composite key [OK]
Hint: Use ISO date + clear delimiter for sortable composite keys [OK]
Common Mistakes:
Using ambiguous delimiters
Placing unique ID before date
Using non-lexicographically sortable date formats
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.