我正在进入Node.js并且正在享受它。我正在进一步研究Web应用程序。
我围绕着Node.js,目前正在使用Backbone作为前端。我正在制作一些使用Backbone与RESTful API进行通信的应用程序。在Node.js中,我将使用Express框架。
我到达了服务器上需要一个简单数据库的地步。我习惯于PostgreSQL和MySQL与Django,但我需要的是一些简单的数据存储等。我知道CouchDB,{{3} }和MongoDB,但我不确定使用哪一个?
其中任何一个更适合Node.js吗?他们中的任何一个对于初学者来说是否更好,从关系数据库转移?我只是需要一些选择的指导,我已经到了这么远,但是当它来到这些数据库时,我只是不确定......
答案 0 :(得分:56)
他们中的任何一个更适合 节点JS?
尤其适用于node.js可能没有,但是根据您的应用程序需求或用例,它们中的每一个都更适合某些场景。
Redis 是一个高级键值存储,可能是三个NoSQL解决方案中最快的一个。除basic key数据操作外,它还支持丰富的数据结构,例如lists,sets,hashes或pub/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可能更适合完成这项工作。