我正在使用Nodejs在“实时”网站上工作。目前,我正在使用Redis,因为我需要高性能的读取权限。写访问对我的用例来说并不重要。
此外,Redis没有搜索的查询语言。所以,我手动创建索引,并使用一些联合/交叉/ ...来找到一些值。
我认为将MongoDB与嵌入式查找系统和类似ORM(例如Mongoose)一起使用会更容易。问题是我不确定MongoDB是我用例的最佳选择。
您对我需要的NoSQL数据库有何建议? Redis? CouchDB? MongoDB? Cassandra?等
我再说一遍:我希望读取访问和搜索具有真正良好的性能(写入访问不重要),最简单的(类似orm的查找系统?等) 。)
感谢。
答案 0 :(得分:4)
我认为redis将是更好的解决方案,原因如下。
您需要快速读取访问权限,而redis提供了最快的解决方案,因为密钥在内存中(如果不是大多数)。
虽然在一般情况下mongodb更容易查询,但您的问题域很窄,一旦您决定了如何查询数据,就可以放置正确的数据结构和索引。
答案 1 :(得分:1)
我认为Redis非常适合您的数据库,您应该查看Solr或elasticsearch之类的内容来提供搜索。
答案 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
希望这些能帮助您找到合适的数据库
古德勒克