AWS Certified Developer Associate (#166)

A company is building an application to track athlete performance using an Amazon DynamoDB table. Each item in the table is identified by a partition key (user_id) and a sort key (sport_name). The table design is shown below:

(Note: Not all table attributes are shown)

A Developer is asked to write a leaderboard application to display the top performers (user_id) based on the score for each sport_name. What process will allow the Developer to extract results MOST efficiently from the DynamoDB table?

Use a DynamoDB query operation with the key attributes of
user_id
and
sport_name
and order the results based on the
score
attribute.
Create a global secondary index with a partition key of
sport_name
and a sort key of score, and get the results
Use a DynamoDB
scan
operation to retrieve scores and
user_id
based on
sport_name
, and order the results based on the
score
attribute.
Create a local secondary index with a primary key of
sport_name
and a sort key of score and get the results based on the
score
attribute.