A game company is developing a mobile multiplayer game.
As the game's popularity increases to many concurrent users, the company wants to implement a leaderboard feature.
What database would provide an optimal solution for this use case?
Click on the arrows to vote for the correct answer
A. B. C. D.Answer: D.
Option A is incorrect because it would require keeping a tally of user scores in the DynamoDB table and querying the ranking from the source database.
Computing the ranking frequently for a large number of concurrent users would be a time-consuming and costly operation.
Option B is incorrect because it would require keeping a tally of user scores in an RDS table and querying the ranking from the source database.
Computing the ranking frequently for a large number of concurrent users would be a complex, time consuming and costly operation.
Option C is incorrect because Memcached is a simple memory object caching solution.
It is best suited for key-value use cases storing simple objects (e.g.
strings)
It is not the optimal solution for this scenario.
Option D is CORRECT because Redis provides the native capability for sorted sets which is an ideal solution for complex and compute-intensive data structures such as leaderboards.
Reference:
https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-use-cases.html#elasticache-for-redis-use-cases-gamingFor a mobile multiplayer game that requires a leaderboard feature, a database that can handle a large number of concurrent users, high read/write throughput, and low latency is essential. Based on the provided options, the most suitable database would be DynamoDB.
DynamoDB is a NoSQL database service offered by AWS that provides low latency, high scalability, and high availability. It is designed to handle large amounts of data and can automatically partition data across multiple servers to ensure high performance and availability. It can also handle high read/write throughput, which is crucial for a leaderboard feature that requires frequent updates as players score points.
AWS RDS, on the other hand, is a relational database service that is designed to handle traditional SQL databases such as MySQL, PostgreSQL, and Oracle. While it can handle a large number of concurrent users, it may not be the best fit for a leaderboard feature that requires frequent updates and high scalability.
ElastiCache for Memcached and ElastiCache for Redis are in-memory caching services offered by AWS. While they can provide high performance and low latency for frequently accessed data, they are not designed for storing large amounts of data or handling frequent updates.
In summary, DynamoDB would provide an optimal solution for a mobile multiplayer game with a leaderboard feature, given its high scalability, high availability, and ability to handle high read/write throughput.