2013-06-21 39 views
1

如果我不打算拥有大型(> 1000项)集合,并且已经很熟悉,那么使用MongoDB作为Node.js应用程序而不是传统SQL数据库(如MySQL)会有什么好处吗SQL?适用于小型数据集的MongoDB

+0

不是真的,没有我能想到的 – Sammaye

+0

@Sammaye你在开玩笑吗?整个数据模型是完全不同的,并且与node.js应用程序中的数据结构已经很接近 - 它有多少数据有什么关系? –

+0

@AsyaKamsky在开发应用程序之外,不同的数据结构会产生明显的差异吗?就性能而言呢?我认为他正在寻找真正的好处,如果他对SQL感到满意,他将拥有一个ORM或将SQL平面结构形成到node.js结构中的东西,这使得MongoDB和SQL之间的应用程序方面差异很小。这意味着不同的数据结构并不像它看起来那么有好处,因为有了一些花哨的编程的SQL可以采取相同的行动,开发人员永远不会知道。 – Sammaye

回答

6

MongoDB是基于模式的文档数据库。这意味着你可以插入一个JSON对象与其他嵌套对象。这可以使开发更容易,特别是对于原型开发。

对于一个小项目,为什么不呢?对于一个更大的项目,你应该做更多的研究。无论大小,无论如何不会伤害到研究。您想考虑应用程序如何使用数据库(读取vs写入)以及MongoDB如何水平扩展,以及它如何处理故障。

有一个叫做CAP定理的东西定义了NoSQL数据库。 MongoDB是CP。这visual guide显示了不同数据库之间的关系。什么对你和你的申请最重要?

需要考虑的其他事情是,大多数NoSQL数据库不符合ACID标准。如果你在InnoDB中使用MySQL,根据你的应用程序,这可能是一些重要的放弃。例如,transactions可能是你可能不想放弃的东西。

很多优点和缺点。最好问问自己的是:我获得了什么?我放弃了什么?有很多事情,这取决于你的用例。

1

对于小规模应用程序,坚持简单的dbms有很多原因。其中之一是提供MySQL的廉价托管服务的广泛可用性。另一个是易于部署和维护。

当然,如果你正在学习使用MongoDB,那就去吧!

+0

我不知道维护部分等,我已经使用了两次,实际上,一旦你掌握了基本的手段MongoDB更容易开发和管理真的很容易,主要的一点是可能的托管。 – Sammaye

相关问题