A fast-growing mobile game company uses a NoSQL database to store player profiles, leaderboards, and game state. The database must deliver consistent single-digit millisecond response times regardless of the number of concurrent players. The company wants a fully managed service that automatically scales throughput capacity up and down based on traffic and replicates data across multiple Availability Zones for high availability. Which AWS service should the company use?
Amazon DynamoDB is the correct answer. It is a fully managed NoSQL service that delivers consistent single-digit millisecond latency at any scale. It automatically scales read/write throughput based on traffic patterns and replicates data across three Availability Zones in an AWS Region by default, meeting all requirements.
Why this answer
Amazon DynamoDB is a fully managed NoSQL database service that delivers consistent single-digit millisecond latency at any scale. It supports automatic scaling of throughput capacity based on traffic patterns and replicates data across multiple Availability Zones (AZs) for high availability and durability, making it the ideal choice for a fast-growing mobile game company.
Exam trap
The trap here is that candidates may confuse Amazon ElastiCache for Redis (a caching layer) with a primary NoSQL database, overlooking that DynamoDB is the fully managed, auto-scaling, multi-AZ NoSQL service designed for consistent low-latency workloads.
How to eliminate wrong answers
Option A is wrong because Amazon RDS for MySQL is a relational database, not a NoSQL database, and while it can be scaled vertically, it does not automatically scale throughput capacity up and down based on traffic in the same way DynamoDB does. Option C is wrong because Amazon Redshift is a petabyte-scale data warehouse optimized for analytical queries, not for low-latency, high-concurrency transactional workloads like player profiles and leaderboards. Option D is wrong because Amazon ElastiCache for Redis is an in-memory caching service, not a primary database; it lacks the durability and automatic scaling of throughput capacity that DynamoDB provides, and it is typically used as a cache layer rather than a persistent data store.