您会为 Google Reader(一对一副本)之类的应用程序使用哪种 NoSQL 架构?
我考虑使用 MongoDB、Cassandra、CouchDB、Redis、HBase 和 Riak。
简单的答案,使用你最舒服的那个。
更复杂的答案实际上在于 Google Reader 可以做什么的细节。您可能需要的一项功能是多个索引。
每个 RSS 条目将有一个唯一的键、一个用户、一个 ts、一个读取标志和一些类别。在处理面向文档或键值数据库时,通常很容易获得键。但是你真正要运行的第一个查询是什么?按用户列出,ts,阅读。
那么,这将需要一个二级索引。AFAIK riak和redis根本不支持这一点。CouchDB和Cassandra似乎有一些变通方法(视图),但仍然不容易。MongoDB支持“开箱即用”的二级索引。
所以马上,你就可以很容易地让它与 MongoDB 一起工作。
Mongo 还具有一系列原子操作,可以更轻松地异步更新数据。