mysql - 用于小型数据集的 MongoDB

标签 mysql sql node.js mongodb nosql

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

最佳答案

MongoDB 是基于无模式文档的数据库。这意味着您可以插入带有其他嵌套对象的 JSON 对象。这可以使开发更容易,尤其是对于原型(prototype)制作。

对于一个小项目,为什么不呢?对于更大的项目,您应该做更多的研究。大或小,无论如何做研究都没有坏处。您需要考虑您的应用程序如何使用数据库(读取与写入)以及 MongoDB 如何横向扩展,以及它如何处理故障。

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

还有一点需要考虑的是,大多数 NoSQL 数据库都不符合 ACID。如果您将 MySQL 与 InnoDB 一起使用,那么根据您的应用程序,放弃这可能是一件很重要的事情。例如,transactions可能是您不想放弃的东西。

很多优点和缺点。最好问问自己:我得到了什么?我要放弃什么?有很多东西,这实际上取决于您的用例。

关于mysql - 用于小型数据集的 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17240789/

相关文章:

mysql - 操作数应包含 1 列???确实如此,但仍然出错。这是一个错误吗?

node.js - 如何在JavaScript中使用ffmpeg将H.264帧解码为RGB帧

Node.js https 证书过期

mysql innoDB错误1005

mysql - MySQL 中 RENAME TABLE 语句后的 DROP TRIGGER 语句导致 "Error Code: 1146. Table ' testschema.TestRenamed' 不存在”

sql - 如何根据子查询中的计数选择记录数

mysql - 使用 group by 进行条件聚合查询

mysql - 如何将 (IF) 条件放入 mySQL 代码中?

node.js - docker 中的多个 Nodejs Worker

mysql - 在 MySQL 中选择最后一行