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

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

另外,Redis没有search的查询语言。 所以,我手动创build我的索引,并使用一些联合/交叉点/ …来查找一些值。

我认为使用embedded式查找系统和类似ORM的MongoDB会比较容易(例如Mongoose )。 问题是我不确定MongoDB是否是我的用例的最佳select。

你对NoSQL DB的build议是什么? Redis? CouchDB ? MongoDB? 卡桑德拉 ? 等等

我再说一遍:我希望读取访问和search (写入访问不重要),最简单的可能(orm-like?查找系统等)

谢谢。

由于以下原因,我认为redis将是更好的解决scheme。

  1. 您需要快速读取访问权限,而且由于密钥在内存中,因此redis提供了最快的解决scheme,即使不是最多的。

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

我会说Redis非常适合你的数据库,你应该看看像Solr或elasticsearch这样的东西来提供你的search。

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

对于search和索引:MongoDB将需要单独的索引为您的每个search条件更好的性能(至less这是我记得)。

适当的索引在MongoDB中很重要。 没有join!

以下是您可能经历的一些链接:

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

希望这些将帮助你find正确的分贝

祝你好运