"Assuming that every user on an average tries 4 implementations of every problem and attempts 500 questions in his/her lifetime, the submissions table size is ~6MB(the assumption assumes a skewed behaviour of users participating)"----- Shouldn't it be 6MB (4 * 500 * 3KB) per user participating? That makes the total size of submissions table: 1M * 6MB = 6TB? If true, this changes all design choices.

Software Engineer at AirAsia