CouchDB,MongoDB和Redis中的哪个数据库适合从Node.js开始?

时间:2011-06-28 14:19:16

标签: node.js mongodb redis couchdb database

我正在进入Node.js并且正在享受它。我正在进一步研究Web应用程序。

我围绕着Node.js,目前正在使用Backbone作为前端。我正在制作一些使用Backbone与RESTful API进行通信的应用程序。在Node.js中,我将使用Express框架。

我到达了服务器上需要一个简单数据库的地步。我习惯于PostgreSQLMySQLDjango,但我需要的是一些简单的数据存储等。我知道CouchDB,{{3} }和MongoDB,但我不确定使用哪一个?

其中任何一个更适合Node.js吗?他们中的任何一个对于初学者来说是否更好,从关系数据库转移?我只是需要一些选择的指导,我已经到了这么远,但是当它来到这些数据库时,我只是不确定......

1 个答案:

答案 0 :(得分:56)

  

他们中的任何一个更适合   节点JS?

尤其适用于node.js可能没有,但是根据您的应用程序需求或用例,它们中的每一个都更适合某些场景。

Redis 是一个高级键值存储,可能是三个NoSQL解决方案中最快的一个。除basic key数据操作外,它还支持丰富的数据结构,例如listssetshashespub/sub功能,这些功能非常方便,即统计数据或其他功能实时疯狂。然而,它缺乏某种查询语言。

CouchDB 是面向文档的商店,非常耐用,提供MVCC,REST界面,出色的replication系统和map-reduce查询。它可用于广泛的场景并替换您的RDBMS,但是如果您习惯于临时SQL查询,那么您可能会遇到某些map-reduce视图的问题。

MongoDB 也是像CouchDB这样的面向文档的商店,除了map-reduce之外它还支持ad hoc查询,这可能是搜索DRBMS替换的人选择MongoDB而不是其他NoSQL解决方案的关键特性之一。

  

他们中的任何一个都更适合   初学者,从关系中走出来   数据库?

由于你来自RDBMS世界并且你可能已经习惯了SQL,我认为你应该使用Mongodb,因为与Redis或CouchDB不同,它支持即席查询,查询机制类似于SQL。但是,根据您的应用场景,可能会有一些区域,Redis或CouchDB可能更适合完成这项工作。