【问题标题】:Why NoSQL is much more used than RDBMS with Node.js? [closed]为什么 NoSQL 比带有 Node.js 的 RDBMS 更常用? [关闭]
【发布时间】:2016-04-04 23:20:31
【问题描述】:

使用 MongoDB/CouchDB 或任何基于文档的 DB 都拥有大量的 Node.js 文档。然而,使用 Node 的 SQL 使用(原始的和使用 ORM 的)的文档和社区支持要少得多。与使用 NoSQL 的人相比,为什么很少有人(至少在教程、公共项目中)使用带有 SQL 或 ORM 的 Node.js?

我看到的 Node.js 只是 MEAN 堆栈和各种 NoSQL 设置(捆绑在诸如流星之类的东西中)。看到这么少的内容和一个非常小的社区致力于 Node 和 SQL,我感到很奇怪。虽然 ORM 存在性能缺陷,但我也听说使用非关系数据库(例如初创公司失败等)相对于 SQL 的可靠性和年龄而言存在很多缺陷,而且 ORM 解决了对象阻抗不匹配问题。

我不得不在 Node 项目上使用 SQL,为了解决这个问题,我使用了最流行的 Node ORM Sequelize 将我的 JavaScript 代码映射到 SQL 查询,这样我就可以专注于使用一种语言,但是文档和社区是缺乏,因此我花了很多时间来发现如何以简单的方式使用它,而这在 MongoDB 上需要花费我几分钟的时间。

Node 和 SQL 不应该一起工作吗?

【问题讨论】:

    标签: sql node.js mongodb orm


    【解决方案1】:

    为了比较,发布日期:

    Oracle:1979
    Java:1995
    节点:2009
    MongoDB : 2009

    Node 是一种新技术,经常与其他新概念和趋势架构一起使用。将 ORM/RDMS 与 Node 一起使用并没有错,但通常,当大公司迁移到使用 Node 开发新系统或初创公司决定使用 Node 构建东西时,他们也愿意尝试新的架构和解决方案,如 NoSQL、内存数据库、云服务等。

    RDBMS 稳定、强大,您可以构建风险较小的东西,并且在市场上拥有更多经验丰富的开发人员,但它是一项古老的技术。作为一种传统技术,更常见的是与其他传统编程语言相结合。


    此外,Node 使用具有最佳 JSON 支持的 JavaScript,这对于 NoSQL 数据库非常有用,而 JavaScript 是 untyped/weakly typed language,这给使用 ORM 工具带来了一些小问题。

    【讨论】:

    • Oracle 数据库支持 JSON 数据类型 docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246
    • 我猜是 2014 年的。 Postgres 还支持 JSON,SQL Server 将在 vNext 中支持它。但是,提供支持并不一定意味着该功能与 MongoDB 中的一样好。此外,它需要更多广告,因为人们会避免从专门研究关系的公司测试 NoSQL 方法。
    • 感谢编辑,感谢背景
    猜你喜欢
    • 2012-02-02
    • 2011-03-26
    • 2011-04-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    相关资源
    最近更新 更多