How to handle surge in users using a Multi-AZ deployment?

0

A gaming company created a game leaderboard by using a Multi-AZ deployment of an Amazon RDS database. The number of users is growing, and the queries to get individual player rankings are getting slower over time. The company expects a surge in users for an upcoming version and wants to optimize the design for scalability and performance. Which solution will meet these requirements?

A. Migrate the database to Amazon DynamoDB. Store the leader different tables. Use Apache HiveQL JOIN statements to build the leaderboard

B. Keep the leaderboard data in the RDS DB instance. Provision a Multi-AZ deployment of an Amazon ElastiCache for Redis cluster. (Most Voted)

C. Stream the leaderboard data by using Amazon Kinesis Data Firehose with an Amazon S3 bucket as the destination. Query the S3 bucket by using Amazon Athena for the leaderboard.

D. Add a read-only replica to the RDS DB instance. Add an RDS Proxy database proxy.

2 Antworten
1

A. Is not good, although DynamoDB can be used at scale and can be modeled to handler leaderboard data, the solution uses HiveQL to create the leaderboard which is not idea.

B. This works because Redis is extremely good and popular with leaderboards and it also doesn't require you to migrate or refactor for another database. https://aws.amazon.com/blogs/database/building-a-real-time-gaming-leaderboard-with-amazon-elasticache-for-redis/

C. This would work, but likely not the solution you want from a performance perspective.

D. You just double the problem

profile pictureAWS
EXPERTE
beantwortet vor einem Jahr
0

Hi, probably all options that you mention are possible. But, the simplest and most efficient is DynamoDb: it's an AWS managed service (i.e. patching, provisioning, HA, autoscaling, etc.) is managed by DDB with no work from customer side.

Additionally, DDB is known to work at very high scale: 105+ millions requests per second.

Finally, some high-scale leaderboard example on DDB exist: https://aws.amazon.com/blogs/apn/how-to-build-a-real-time-gaming-leaderboard-with-amazon-dynamodb-and-rockset/

Best, Didier

profile pictureAWS
EXPERTE
beantwortet vor einem Jahr
profile picture
EXPERTE
überprüft vor einem Jahr
  • Thanks for sharing your insights. However, B is the most voted answer.

  • I’m not sure why you keep posting exam questions to aws:repost?

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen