AWS Certified Database – Specialty — Question 97
A company's ecommerce website uses Amazon DynamoDB for purchase orders. Each order is made up of a Customer ID and an Order ID. The DynamoDB table uses the Customer ID as the partition key and the Order ID as the sort key.
To meet a new requirement, the company also wants the ability to query the table by using a third attribute named Invoice ID. Queries using the Invoice ID must be strongly consistent. A database specialist must provide this capability with optimal performance and minimal overhead.
What should the database administrator do to meet these requirements?
Answer options
- A. Add a global secondary index on Invoice ID to the existing table.
- B. Add a local secondary index on Invoice ID to the existing table.
- C. Recreate the table by using the latest snapshot while adding a local secondary index on Invoice ID.
- D. Use the partition key and a FilterExpression parameter with a filter on Invoice ID for all queries.
Correct answer: C
Explanation
The correct answer is C because recreating the table with a local secondary index on Invoice ID allows for strong consistency and efficient querying based on this new attribute. Option A is incorrect as a global secondary index does not guarantee strong consistency. Option B does not apply since local secondary indexes can only be created at table creation. Option D is inefficient as it relies on filtering after retrieving data, which does not optimize performance.