网站用户活动日志的数据存储建议

时间:2012-02-15 15:12:14

标签: performance web feeds datastore

我正在寻找关于活动源的良好数据存储的一些建议。目标是拥有一个Twitter / Facebook类型的订阅源日志,其中包含用户可以在我们的网站上执行的各种活动。 “墙”或“馈送”将通过AJAX更新,显示网站用户当前正在做什么。它会经常写入,然后最新的将显示在网站上。 (例如John Smith在2秒前推荐了Jane Smith的文章)

我们目前正在将数据源存储在MySQL中,但性能一直不佳,如果我们不断访问数据库以获取最新的用户活动以及编写提要,我担心会阻碍整个网站的其余部分的性能

非常感谢任何建议!

2 个答案:

答案 0 :(得分:1)

利用memcache等最佳缓存解决方案来提高效果。除了缩放之外,活动源没有提高性能的可能性。

我会投票使用http://redis.io/http://www.mongodb.org/作为MySQL的替代方案,用于跨网站的短期,几乎实时的活动供稿。以及将活动历史转储到MySQL中以保存记录的cron作业。

查看tumblr'stwitters架构也可以将您推向正确的方向。

答案 1 :(得分:0)

您应该采用微服务方法将存储用户操作的数据存储区与存储实际数据的操作区分开。 Pub/Sub是处理大量用户操作的正确方法。 将Kafka或Google Pub / Sub云服务用于可扩展的数据管道。他们可以利用其可扩展的架构来承担负载。 独立使用来自Kafka的消息到某些数据库(如MySQL或Google BigQuery),以用于分析目的。

相关问题