2017-02-11 20 views
2

我聽說Mysql使用Uber,Linkedin等大公司。我認爲NodeJs最好使用Mysql而不是MongoDB。我錯了嗎?也許我不知道MongoDB的功能爲什麼NodeJs通常使用MongoDB而不是Mysql?

+2

一旦你理解了SQL和NoSQL數據庫及其道具和利弊的區別,你可以使用MySQL或MongoDB或兩者。人們通常使用最適合他們的方式,而不是其他大公司正在使用的方式。 –

回答

5

就像你,我開始學習NoSQL時處於同樣的困境。來自RDBMS背景的NoSQL或MongoDB更容易擴展,並且具有類似JSON的語法,讓JavaScript開發人員感受到了家的感覺。想象一下,當你開發的Todo應用這種結構:

Todo Database (MySQL): 
- Todo (table) 
    - Id 

- Todo Item (table) 
    - TodoId 
    - TodoName 

用MongoDB的,你可以把一切都放在一個表或集合,像這樣:

Todo: { 
    Id: //some uniq id, 
    Items: [ 
    0: { 
     name: 'wash the dishes' 
    }, 
    1: // and so on 
    ] 
} 

,稍後如果你決定打破或添加更多詳情你可以這樣做,因此詞「規模」

Todo: { 
    Id: asdf 
} 

TodoItem: { 
    todoId: asdf, 
    name: 'wash the dishes', 
    etc: // and so on 
} 

最棒的一切,如果你覺得你的應用程序在石頭幾乎設置,你可以轉移到MySQL或PostgreSQL其中大公司你提到的在做。

這只是一個簡單的例子,可能在Sql上使用NoSql不會有太大的好處。但想一想,你正試圖用陌生的數據關係構建一個新的應用程序。是的,您可以根據需要構建ER圖並對其進行規範化,當您開始構建應用程序時,您會意識到一個非常重要的領域可能會影響到您的表的整個關係。或者你寧願快速構建,讓自己的手變髒,用NoSql構建凌亂的表/集合,並且看到你的應用程序活得更快?

希望有所幫助。

相關問題