NoSQL数据库具有高读取性能(写入访问不重要)?

时间:2011-05-25 14:12:17

标签: node.js mongodb redis database nosql

我正在使用Nodejs在“实时”网站上工作。目前,我正在使用Redis,因为我需要高性能的读取权限。写访问对我的用例来说并不重要。

此外,Redis没有搜索的查询语言。所以,我手动创建索引,并使用一些联合/交叉/ ...来找到一些值。

我认为将MongoDB与嵌入式查找系统和类似ORM(例如Mongoose)一起使用会更容易。问题是我不确定MongoDB是我用例的最佳选择。

您对我需要的NoSQL数据库有何建议? Redis? CouchDB? MongoDB? Cassandra?等

我再说一遍:我希望读取访问和搜索具有真正良好的性能(写入访问不重要),最简单的(类似orm的查找系统?等) 。)

感谢。

3 个答案:

答案 0 :(得分:4)

我认为redis将是更好的解决方案,原因如下。

  1. 您需要快速读取访问权限,而redis提供了最快的解决方案,因为密钥在内存中(如果不是大多数)。

  2. 虽然在一般情况下mongodb更容易查询,但您的问题域很窄,一旦您决定了如何查询数据,就可以放置正确的数据结构和索引。

答案 1 :(得分:1)

我认为Redis非常适合您的数据库,您应该查看Solrelasticsearch之类的内容来提供搜索。

答案 2 :(得分:0)

CouchDB在写入繁重的环境中会做得更好。我虽然不使用它。 MongoDB在阅读繁重的环境中会做得更好。

搜索和索引: 对于每个搜索条件,MongoDB都需要单独的索引以获得更好的性能(至少这是我记得的)。

正确的索引在MongoDB中很重要。没有加入!!

以下是您可能会遇到的一些链接:

http://www.mongodb.org/display/DOCS/Comparing+Mongo+DB+and+Couch+DB

http://www.snailinaturtleneck.com/blog/2009/06/29/couchdb-vs-mongodb-benchmark/

http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis

希望这些能帮助您找到合适的数据库

古德勒克