用户活动Feed的数据库解决方案

时间:2012-06-11 03:33:26

标签: mongodb redis nosql

我正在开展一个需要生成用户活动Feed的项目。如果用户A跟随用户B而用户B做了一些活动,则用户A在他的主页上看到它。

现在我正在寻找用于持久保存用户Feed的数据库解决方案。一旦用户B提交某些动作,所有关注用户B的用户将收到记录。我认为为具有对象引用列表的用户保存mongodb文档将比为每个feed记录保存文档更好。

另一方面,会有很多写入甚至更多的读取,而mongodb会对集合进行锁定。也许这可能是一个问题。或者也许Redis可以用于此。而且redis有并发性的东西。我对两者都没有多少经验。

总结问题是什么更适合用于此任务:Mongo,Redis或其他什么?

谢谢!

3 个答案:

答案 0 :(得分:8)

请参阅博文:http://www.waistcode.net/blog/mongodb-newsfeed-schema-design-for-entexis 它准确地描述了你正在寻找的东西。恕我直言:这真的很优雅。

几天前,我通过相关问题(MongoDB database schema design)指出了这篇博文。

第h。

答案 1 :(得分:2)

请务必评估neo4j。它是为您描述的许多相同用例创建的。

答案 2 :(得分:2)

Cassandra是自托管活动供稿的可靠选择,尽管通常认为其运行和运营都很复杂。

现在有第三方/托管选项,例如GetStream.ioDynamoDB