AWS Certified Solutions Architect – Associate (SAA-C02) — Question 408
A company has deployed a multiplayer game for mobile devices. The game requires live location tracking of players based on latitude and longitude. The data store for the game must support rapid updates and retrieval of locations.
The game uses an Amazon RDS for PostgreSQL DB instance with read replicas to store the location data. During peak usage periods, the database is unable to maintain the performance that is needed for reading and writing updates. The game's user base is increasing rapidly.
What should a solutions architect do to improve the performance of the data tier?
Answer options
- A. Take a snapshot of the existing DB instance. Restore the snapshot with Multi-AZ enabled.
- B. Migrate from Amazon RDS to Amazon Elasticsearch Service (Amazon ES) with Kibana.
- C. Deploy Amazon DynamoDB Accelerator (DAX) in front of the existing DB instance. Modify the game to use DAX.
- D. Deploy an Amazon ElastiCache for Redis cluster in front of the existing DB instance. Modify the game to use Redis.
Correct answer: D
Explanation
Amazon ElastiCache for Redis is an in-memory data store that supports geospatial data structures and sub-millisecond latency, making it the perfect choice to handle rapid location tracking updates. Amazon DynamoDB Accelerator (DAX) cannot be used here because it only caches Amazon DynamoDB, not Amazon RDS. Enabling Multi-AZ on RDS provides high availability but does not scale read/write performance, and Amazon ES is not designed for high-frequency transactional writes of location coordinates.