如果我不打算擁有大型(> 1000項)集合,並且已經很熟悉,那麼使用MongoDB作爲Node.js應用程序而不是傳統SQL數據庫(如MySQL)會有什麼好處嗎SQL?適用於小型數據集的MongoDB
1
A
回答
6
MongoDB是基於模式的文檔數據庫。這意味着你可以插入一個JSON對象與其他嵌套對象。這可以使開發更容易,特別是對於原型開發。
對於一個小項目,爲什麼不呢?對於一個更大的項目,你應該做更多的研究。無論大小,無論如何不會傷害到研究。您想考慮應用程序如何使用數據庫(讀取vs寫入)以及MongoDB如何水平擴展,以及它如何處理故障。
有一個叫做CAP定理的東西定義了NoSQL數據庫。 MongoDB是CP。這visual guide顯示了不同數據庫之間的關係。什麼對你和你的申請最重要?
需要考慮的其他事情是,大多數NoSQL數據庫不符合ACID標準。如果你在InnoDB中使用MySQL,根據你的應用程序,這可能是一些重要的放棄。例如,transactions可能是你可能不想放棄的東西。
很多優點和缺點。最好問問自己的是:我獲得了什麼?我放棄了什麼?有很多事情,這取決於你的用例。
1
對於小規模應用程序,堅持簡單的dbms有很多原因。其中之一是提供MySQL的廉價託管服務的廣泛可用性。另一個是易於部署和維護。
當然,如果你正在學習使用MongoDB,那就去吧!
+0
我不知道維護部分等,我已經使用了兩次,實際上,一旦你掌握了基本的手段MongoDB更容易開發和管理真的很容易,主要的一點是可能的託管。 – Sammaye
相關問題
- 1. 適用於大型數據集的OptaPlanner
- 2. SVM排名僅適用於小型數據集
- 3. 適用於小型數據集的適合本地數據庫(易於使用C++處理)
- 4. 哪個數據庫引擎適用於大型數據集
- 5. 用於收集生產數據的MongoDb
- 6. MongoDB不適用於關係數據嗎?
- 7. 適用於數據密集型軟件的SharePoint(基礎版)
- 8. 適用於Windows.System.Colors的MSAccess數據類型
- 9. JFreeChart數據集不適用於JPanel
- 10. 用於Hadoop-MapReduce的小數據集
- 11. 春季數據MongoDB - 方法的簽名不適用於參數類型
- 12. 靈活的JavaScript函數(適用於MongoDB)
- 13. 適用於()Loop的小型Python
- 14. 適用於MongoDB的Java API
- 15. MongoDB的聚集PHP,數小時集團
- 16. MongoDB:自己分割大型數據集?
- 17. MongoDB獲取收集數據類型
- 18. 用於大型數據集的Android ListView
- 19. MPI_Barrier()不適用於小羣集
- 20. 對於大型數據集,mongoDB或Cassandra比MySQL更好嗎?
- 21. 哪個數據類型用於小數?
- 22. 在MongoDB中,鎖是否適用於集合,數據庫或服務器?
- 23. Hive的適當數據類型適用於UDF的DATE和TIMESTAMP
- 24. HBase,mongoDB,Cassandra - 小羣集上的開銷,小數據
- 25. 加入較小的數據集與大型數據集
- 26. Angular ng-repeat不適用於從mongodb獲取的數據
- 27. MongoDB - 小型/多個或少數/大型節點羣集
- 28. 谷歌地圖集羣不適用於小數目的座標
- 29. 什麼是適用於HIVE的nvarchar,MYSQL數據庫的適當數據類型?
- 30. 將XGBOOST應用於大型數據集
不是真的,沒有我能想到的 – Sammaye
@Sammaye你在開玩笑嗎?整個數據模型是完全不同的,並且與node.js應用程序中的數據結構已經很接近 - 它有多少數據有什麼關係? –
@AsyaKamsky在開發應用程序之外,不同的數據結構會產生明顯的差異嗎?就性能而言呢?我認爲他正在尋找真正的好處,如果他對SQL感到滿意,他將擁有一個ORM或將SQL平面結構形成到node.js結構中的東西,這使得MongoDB和SQL之間的應用程序方面差異很小。這意味着不同的數據結構並不像它看起來那麼有好處,因爲有了一些花哨的編程的SQL可以採取相同的行動,開發人員永遠不會知道。 – Sammaye