AWS Certified Developer – Associate (DVA-C02) — Question 186
A company has an ecommerce application. To track product reviews, the company’s development team uses an Amazon DynamoDB table.
Every record includes the following:
• A Review ID, a 16-digit universally unique identifier (UUID)
• A Product ID and User ID, 16-digit UUIDs that reference other tables
• A Product Rating on a scale of 1-5
• An optional comment from the user
The table partition key is the Review ID. The most performed query against the table is to find the 10 reviews with the highest rating for a given product.
Which index will provide the FASTEST response for this query?
Answer options
- A. A global secondary index (GSI) with Product ID as the partition key and Product Rating as the sort key
- B. A global secondary index (GSI) with Product ID as the partition key and Review ID as the sort key
- C. A local secondary index (LSI) with Product ID as the partition key and Product Rating as the sort key
- D. A local secondary index (LSI) with Review ID as the partition key and Product ID as the sort key
Correct answer: A
Explanation
The fastest response for retrieving the highest-rated reviews for a specific product is achieved using a global secondary index (GSI) with Product ID as the partition key and Product Rating as the sort key (Option A). This allows for efficient querying and sorting by rating within the specified product. The other options do not effectively support the requirement of finding the top ratings for a product, either due to incorrect partition keys or ineffective sorting capabilities.