对于像 Google Reader(一对一副本)这样的应用程序,您会使用哪种 NoSQL 架构?
我考虑了 MongoDB、Cassandra、CouchDB、Redis、HBase 和 Riak。
最佳答案
简单的答案,使用您最熟悉的答案。
更复杂的答案实际上在于 Google 阅读器可以做什么的细节。您可能需要的一项功能是多个索引。
每个 RSS 条目都将有一个唯一的键、一个用户、一个 ts、一个阅读标志和一些类别。在处理面向文档或键值数据库时,通常很容易获得键。但是您真正要运行的第一个查询是什么?按用户、ts、阅读列出。
好吧,这将需要一个二级索引。 AFAIK riak 和 redis 根本不支持这一点。 CouchDB 和Cassandra 似乎有一些变通方法( View ),但仍然不容易。 MongoDB 支持二级索引“out of the box”。
因此,您马上就可以轻松地让它与 MongoDB 一起工作。
Mongo 也有一系列 atomic operations这使得异步更新数据变得更加容易。
关于mongodb - 适用于 Google Reader 等应用的 NoSQL 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4748827/