【发布时间】:2013-09-17 12:54:17
【问题描述】:
我正在构建一个 NodeJS 应用程序,并且在 NoSQL MongoDB 与 RMDS PostregresSql 之间完全纠结。我的项目是创建一个开源示例项目,用于使用 NodeJS 在网页上记录访问者并实时显示访问者统计信息。一开始我打算使用 MongoDB,因为很多 NodeJS 示例和教程,尽管大多是较旧的,都使用了它,而且免费层的 paas 主机比比皆是。然而,我最近看到很多人抨击 MongoDB,发现尝试使用 MongoDB 的人最终切换到 Postgres:
- http://blog.engineering.kiip.me/post/20988881092/a-year-with-mongodb
- http://dieswaytoofast.blogspot.com/2012/09/mysql-vs-postgres-vs-mongodb.html
- http://www.plotprojects.com/why-we-use-postgresql-and-slick/
我也是 Heroku 的粉丝,因此听说过很多关于 Postgres 的事,并且发现 SQL 查询有时会很不错。
我不是数据库专家,所以我一生都无法告诉我该走哪条路。如果您能就应该考虑哪一个以及为什么提供一些建议,我将不胜感激。
我有几个标准:
-
因为我希望这是一个示例,所以最好有一种方法来托管大量数据。我知道 MongoDB 肯定提供了这个,但是像 Heroku 这样的 Postgres paas 似乎有相当小的数据库(因为我记录了网站的每个访问者)
-
一个简单易懂的数据库。
-
性能并不重要,但速度不会受到伤害
感谢大家的帮助!
注意:请不要喷火,每个人都有自己的看法:)
【问题讨论】:
-
我不明白为什么人们对这个问题投反对票。
-
我不明白这个问题是如何被关闭为“主要基于意见的”。这类问题——何时使用 SQL,何时使用 NoSQL——是计算机科学和架构决策的实质。
-
Cory House 在他的帖子“为什么我不在 MongoDB 上出售”中有一些很好的分析。特别注意关于 Schema = Protection 的部分。 bitnative.com/2015/04/13/why-im-not-sold-on-mongodb
-
对于一个有趣的 PostgreSQL、Express、Angular、Node 样板项目,请查看这个基于 MEAN.JS 样板的项目。 github.com/StetSolutions/pean
标签: node.js mongodb postgresql nosql