在 MEAN 结构化框架中使用 MySQL 而不是 MondoDB 和 Node.js
Use MySQL instead of MondoDB along with Node.js in MEAN structured framework
对于单页应用程序或考虑到应用程序的速度,我们通常切换到 MEAN。但我的问题是,当我使用 Mysql 作为数据库而不是像 MongoDB 这样的文档数据库时,我是否可以获得相同的速度和性能?
考虑到应用程序不需要批量插入或更新操作。
基本上,Mysql 是 RDMBS,它具有强大的 table 模式,而 Mongodb 是一个基于集合的数据库,没有强大的模式 (NoSQL)。
速度方面很难完全判断 mysql 会更好还是直接 mongodb 而不看架构。但是,如果正确索引,可以针对其中任何一项优化性能。
但是要在这 2 个之间进行选择,可能需要检查以下参数:
- 如果您的应用程序架构已定义(mysql 很好)或其绑定结构非常松散并且可以从文档(记录)更改为文档(Mongodb 很好)?
- 您的应用程序是否分为不同的 tables,如映射 tables、数据透视 tables 以具有许多主-外键关系?那么mysql是个不错的选择,如果不是太多加入Mongodb也不错。 Mongodb 可用于连接,但 mysql 中的简单连接查询可能是 mongodb 聚合中的长嵌套 $lookup json 查询。
- Mongodb 查询语法非常直观,更倾向于 javascript-like 语法。因此在开发方面它易于管理和返工。
- 如果您要进行文本搜索,那么 mongodb 有一套很好的 $text 索引,它具有标记化和分析器。在mysql.
中比较难达到
- mongodb 中的数据局部性比 mysql 更可靠。
- Mongodb 在他们的文档中提到了自动分片以实现高可用性,您需要在 mysql.
中自行配置
如果您想使用 mongo 但仍希望模型辅助函数进行查询,- 像 mongoose 这样的节点包也会为您提供类似 ORM 的模型以查询到 mongodb。
对于单页应用程序或考虑到应用程序的速度,我们通常切换到 MEAN。但我的问题是,当我使用 Mysql 作为数据库而不是像 MongoDB 这样的文档数据库时,我是否可以获得相同的速度和性能?
考虑到应用程序不需要批量插入或更新操作。
基本上,Mysql 是 RDMBS,它具有强大的 table 模式,而 Mongodb 是一个基于集合的数据库,没有强大的模式 (NoSQL)。
速度方面很难完全判断 mysql 会更好还是直接 mongodb 而不看架构。但是,如果正确索引,可以针对其中任何一项优化性能。
但是要在这 2 个之间进行选择,可能需要检查以下参数:
- 如果您的应用程序架构已定义(mysql 很好)或其绑定结构非常松散并且可以从文档(记录)更改为文档(Mongodb 很好)?
- 您的应用程序是否分为不同的 tables,如映射 tables、数据透视 tables 以具有许多主-外键关系?那么mysql是个不错的选择,如果不是太多加入Mongodb也不错。 Mongodb 可用于连接,但 mysql 中的简单连接查询可能是 mongodb 聚合中的长嵌套 $lookup json 查询。
- Mongodb 查询语法非常直观,更倾向于 javascript-like 语法。因此在开发方面它易于管理和返工。
- 如果您要进行文本搜索,那么 mongodb 有一套很好的 $text 索引,它具有标记化和分析器。在mysql. 中比较难达到
- mongodb 中的数据局部性比 mysql 更可靠。
- Mongodb 在他们的文档中提到了自动分片以实现高可用性,您需要在 mysql. 中自行配置 如果您想使用 mongo 但仍希望模型辅助函数进行查询,
- 像 mongoose 这样的节点包也会为您提供类似 ORM 的模型以查询到 mongodb。