Best DB for a gaming company willing to scale overnight
November 26, 2019

Best DB for a gaming company willing to scale overnight

Esteban Ignacio Masoero | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Review Source

Overall Satisfaction with Redis

Redis is used across all the organization. It is used by our main games to store user data, session data, game data, and indexing some information related to it.

Having backend systems that support casual games, like Trivia Crack, must support instant virtualization and big spikes that can happen during holidays, Christmas, and so on. Consequently, it is important to have a sub-millisecond database to be able to increase the requests rate very rapidly.
  • Answer requests at sub-millisecond latency: by having all the data in memory, the latency has no comparison to other disk based DBs.
  • Simplicity: it is incredibly simple and straightforward to use. You can download Redis and start using it during the next five minutes.
  • Reliable & scalable: when working with a cluster (and if you have a proper sharding strategy), your DB can scale to pretty high numbers and not to die in the middle of any spike.
  • Cost: by having all the data in memory, it can be very expensive. There should be an option for having some data stored on disk, at least initially (and with the tradeoff of some higher latency).
  • Lack of some basic permissions: there should be a way of having a user with restricted commands (i.e.: no keys *, now write commands, etc).
  • Multi-module available on the same Redis instance (as far as I know, this is not possible yet).
  • With a sub-millisecond latency, we were able to serve more than 500K HTTP requests per minute, with Redis serving more than 10 million ops/sec.
  • When we migrated to Redis on Flash (Redis labs enterprise solution), our infrastructure costs were reduced by 50% (AWS ec2 instances & EBS resources).
  • Our main game stores its data in Redis, with more than 300 million users and a total data of more than 6TB of information.
By having a high speed, we were able to survive when hitting number 1 in Apple & Google Stores a few years ago, by just scaling the cluster and concentrating on our mobile apps and backend services, providing new features and fixing bugs.
The different data types it provides allowed us to store users, games, and do a very fast match making logic. We used strings, ints, hashes, lists, sets, sorted sets.
Yes - We replaced MySQL, because it was too slow for the amount of traffic we were receiving during peak times, and we didn't have enough time to optimize our backend (which of course was a valid option).
  • Product Features
  • Product Usability
Easy to learn, easy to use, easy to model basic objects, and really really fast when working with a lot of data and you don't have a high requirement on integrity.
Redis is faster, provides documents JSON-wise with the proper odule and it is far more stable than MongoDB (we had really bad experiences with Mongo, especially when ops tends to increase).
Everywhere speed and scalability is a must, Redis is the way to go. On the other hand, if you want to store huge amounts of data and do not need an extremely low latency, Redis might be too expensive for you. Also, if you are looking for some transactionality and consistency in your data, remember that Redis is a NoSQL database.

Redis Feature Ratings

Data model flexibility
Deployment model flexibility