我正處於移動應用程序開發的規劃階段,我需要您的幫助來決定是否應該使用MySQL或MongoDB。首先讓我描述一下數據:我應該使用MySQL還是MongoDB?
我有一套用戶可以用不同方式瀏覽和評分的項目(例如電影)。項目總數約爲20 000個,不會增長或縮小。
每個用戶將能夠對每個項目(數值)進行評分並寫入分配給每個項目的評論。我預計普通用戶可能會得到40個不同的項目,但我的希望更高!
的typcial查詢將
給我滿足某些條件的所有項目,並讓我瀏覽。例如:給我所有在00年代在歐洲製作的恐怖片。
給我一個特定用戶已經取得的所有電影。
我也想做一些服務器端計算,例如每部電影的平均分數,以及每次用戶獲得一個項目的新分數時,應該更新這個平均值。
對於MySQL我有3個不同的表的數據庫,這個(項目,用戶,分數)和MongoDB的我正在考慮與1個採集數據庫,這樣的:
{
"name":"Inception"
"year":2010
"director":"Christopher Nolan"
"scores" : [
{
"user_id": 1234
"scoreA" : 3,
"scoreB" : 5,
"scoreC" : 4,
},
{
"user_id": 1235
"scoreA" : 4,
"scoreB" : 3
},
}
{
"name":"Titanic"
"year":1997
"director":"James Cameron"
"scores" : [
{
"user_id": 1201
"scoreB" : 5,
"scoreC" : 5
},
{
"user_id": 1220
"scoreA" : 4,
"scoreC" : 5
},
}
...
問題:鑑於我的用例,如果我使用MySQL或MongoDB,這有什麼關係嗎?
預先感謝您!
這個答案不能更剛愎自用,非事實,即使我親自試過。 – Sammaye
我同意。 NoSQL數據庫不是關於「什麼時候不能改進你的RDMS」,或者是一個更大的「常規」數據庫的兄弟。它們與其他工具完全不同,具有不同的用途。你通常不會建議「當你無法改進你的C++,使用Prolog」時,你會嗎?至少我希望如此。 –