I need to refactor system, where students are watching slides, lectures and doing tests, where their knowledge is being check.
My trouble is how to track progress of my students.
- Have single mySQL table for user progress, where I will have JSON field with saved progress of users (seen slides, lectures, tests progress)
- Have separate tables for slides_progress, where each seen slide will be saved in “seen_slides” table (id, user_id, slide_id)
I think second approach is generally better, but I have problem with application scale. According to my calculations, there may be 500 000 000 entries in table after ~ 1 year.
Will mySQL handle so big amount of data? Will indexes still make it fast if it will be growing?
Maybe you have better approach idea?
I would like to stay with mySQL, but maybe there is some kind of DB better suited for this problem?
johnybread is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.