AWS Certified Database – Specialty — Question 163

A development team at an international gaming company is experimenting with Amazon DynamoDB to store in-game events for three mobile games. The most popular game hosts a maximum of 500,000 concurrent users, and the least popular game hosts a maximum of 10,000 concurrent users. The average size of an event is 20 KB, and the average user session produces one event each second. Each event is tagged with a time in milliseconds and a globally unique identifier.
The lead developer created a single DynamoDB table for the events with the following schema:
✑ Partition key: game name
✑ Sort key: event identifier
✑ Local secondary index: player identifier
✑ Event time
The tests were successful in a small-scale development environment. However, when deployed to production, new events stopped being added to the table and the logs show DynamoDB failures with the ItemCollectionSizeLimitExceededException error code.
Which design change should a database specialist recommend to the development team?

Answer options

Correct answer: D

Explanation

The correct answer is D, as creating a separate table for each game allows for better distribution of the load and prevents exceeding the ItemCollectionSizeLimit for a single partition. The other options, while they propose different configurations, do not address the need for scaling and managing the item collection size limitations specific to each game effectively.