如果我不打算拥有大型(>1000个项)集合并且已经习惯使用SQL,那么对于Node.js应用程序而不是传统的SQL数据库(如MySQL)使用MongoDB有什么好处吗?
最佳答案
MongoDB是基于文档的无模式数据库。这意味着您可以将JSON对象与其他嵌套对象一起插入。这可以使开发更容易,特别是对于原型。
对于一个小项目,为什么不呢?对于一个更大的项目,你应该做更多的研究。不管大小,反正做研究也没什么坏处。您需要考虑应用程序如何使用数据库(读与写),MongoDB如何水平扩展,以及它如何处理故障。
有一个叫做CAP定理的东西定义了NoSQL数据库。MongoDB是CP,这个visual guide显示了不同数据库之间的关系。什么对你和你的申请最重要?
还需要考虑的是,大多数NoSQL数据库都不符合ACID。如果您将MySQL与InnoDB结合使用,根据您的应用程序的不同,这可能是需要放弃的重要内容。例如,transactions可能是你不想放弃的东西。
有很多优点和缺点。最好扪心自问:我得到了什么?我要放弃什么?有很多事情,这取决于你的用例。