Mongodb vs Postgres在Nodejs应用程序中

jos*_*son 35 postgresql mongodb nosql node.js

我正在构建一个nodejs应用程序,并且在nosql mongodb vs rmds PostregresSql之间完全被撕裂了.我的项目是创建一个开源示例项目,用于记录访问者并使用nodejs在网页上实时显示访问者统计信息.我最初计划使用mongodb,因为很多nodejs的例子和教程,albiet主要是较旧的,使用它和paas主机与免费teir很多.然而,我最近在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的粉丝,并且听说过很多关于postgress的事情,并发现sql查询有时候会很好.

我不是数据库专家,所以我无法告诉我生活中的哪条路.如果你能就一个要考虑的问题和原因给出一些建议,我真的会做出准备.

我有几个标准:

  1. 由于我希望这是一个例子,因此有一种方法可以容纳大小合适的数据.我知道mongodb肯定会提供这个,但像heroku这样的postgres paas似乎有相当小的数据库(因为我记录了每个访问者的网站)

  2. 一个简单易懂的数据库.

  3. 性能并不重要,但速度不会受到伤害

感谢您的帮助!

注意:请不要火焰战争,每个人都有自己的意见:)

Nat*_*son 22

在SQL数据库和NoSQL数据库之间进行选择当然正在进行大量辩论,并且有很多关于这个主题的好文章.我会在最后列出一对夫妇.我可以根据您的特定需求推荐SQL over NOSQL.

NoSQL有一小组用例,其中数据存储在称为文档的大型紧密耦合包中,而不是存储在关系模型中.简而言之,与单个实体紧密耦合的数据(如单个用户使用的所有文本文档)最好存储在NoSQL文档模型中.其行为类似Excel电子表格和行非常适合,并受聚合计算的数据更好地保存在一个SQL数据库,其中PostgreSQL是唯一的几个很好的选择之一.

你可能会考虑第三种选择是Redis的(http://redis.io/),这是一个简单的键值数据存储是非常快的查询,如SQL时,而不是作为硬性类型.

您引用的示例似乎是一个简单的行/列类型问题.您会发现SQL语法比MongoDB的查询语法要少得多.Node推荐它有很多东西,而且工具集在过去一年里已经成熟了.我会建议使用monogoose NPM包,因为它减少了需要与本地的MongoDB的样板代码量,我还没有发现任何性能下降.

http://slashdot.org/topic/bi/sql-vs-nosql-which-is-better/

http://www.infoivy.com/2013/07/nosql-database-comparison-chart-only.html