The leaderboard adds a whole new dimension to your video game. It's a means of building rivalry between players and deepening their engagement with the game. But, like most things in gaming, building a leaderboard comes with its own technical challenges.
2. Leaderboards
• Effective way to show where a user stands within a gamified
system
• Absolute leaderboards – incentivize
• Relative leaderboards – avoid disengagement of players at
lower end of rankings
• Several type of rankings (weekly, monthly, friends, …)
2
8. Implementation
•
•
•
•
•
•
Redis data structure server
Sorted set data structure
Different sorted sets for different kinds of rankings
Redis hash data structure for member associated data
Lua scripting for aggregating in-memory data
(Sorted) Sets operations (union, intersection, etc…)
8
9. Challenges
• Horizontal scaling
• It is not possible to shard a dataset with a single huge key like a
very big sorted set
• Two-phase commits if you want to execute a transaction
among different data stores
9
10. Summary
• Redis is the right tool for the job, but datasets can not be bigger
than memory
• Exceptional performance (more than 8K leaderboard ops per
second in a single instance)
• Easy to use and understand technology
• Mature and open source
10