我正在開發一個競爭平臺的網站,讓不同的學生可以參加常規(每天)比賽(每個比賽持續3小時)。每場比賽都有100個選擇題。然後在比賽結束後,發佈按總分數排序的所有參與者的結果。如何爲競爭平臺設計好的數據庫結構?
我正在使用MongoDB和Meteor框架。我已經實現了這一點,但我意識到數據庫設計真的不好。
有什麼更好的方法可以設計數據庫結構,然後可以擴展爲10k用戶?
所以,我有以下的數據庫設計(從視高層次點):
用戶:他們的數據,test_1_result,...,test_n_result]
問題: (A,B,C,D或E),變體_A,變體_B,...,變體_E以及其他描述問題的東西]
結果:[user_email, user_name,user_details,number_of_points_for_course_A,number_of_points_for_course_B,...,number_of_points_for_course_Z,total_point s,]
或換句話說,你能否給我提供任何材料,我可以學到更多關於如何設計這樣的競爭性競賽平臺的實用知識?
mongodb的一般規則是將所有內容標準化爲 – corvid
https://en.wikipedia.org/wiki/Database_normalization –