I am developing an web application which is similar to the popular mobile game - Draw Something . I am using Node.js and Socket.io
The app allows people to draw figures and stores the drawing process pixel by pixel on the server side and replays it later as per the game logic - though at a slower/faster pace.
This is a web application and I am using Node.js + Socket.io . Whats the database you would recommend to go along with this ? I am planning to use Redis . Does Redis have any disadvantages in this scenario ? I will be mainly using the Database to store the pixels for each drawing .
You should be absolutely sure that your data will fit in available memory. In your case you're saving every pixel, so it can be a problem. Graphics are heavy.
Maybe, use Redis as a fast temporary storage and save the data on disk when drawing is finished (good thing is that you can do it in background). Of course, you'll need to purge data from redis after succesful saving.
I am not a redis expert but from what I understand is that redis will be fine for this. Be sure that you research redis persistence because redis is more a memory storage than an actually database.
As Long as you looking for horizontal scalability, and almost no relational data, i guess REDIS is best fit.