如何在DynamoDB中有效地实现页面视图计数器?

时间:2018-04-12 21:46:47

标签: amazon-web-services database-design nosql amazon-dynamodb

我本质上是在尝试建立一个网站,会员可以发布博客条目,我希望以绝对值以及不同时间段记录不同帖子的独特和整体页面浏览量,例如,过去24小时,上周等

我最初的方法是使用日期作为主键,将blogPostId作为辅助键,然后我可以添加在给定日期内访问过的所有帖子。如果我然后将userIds包含为属性,那么我应该能够a)获得唯一的页面视图,以及b)给定日期的整体页面视图(可能包括特定用户的重复访问)。最后,我会拉出主键,让我们说最近7天,并提取最受欢迎的帖子。

据我所知,只要没有太多条目,这应该可以正常工作,但是,如果这会扩展,我会持怀疑态度。更具体地说,如果博文的数量在给定的时间间隔内增加很多,或者如果我想找到历史最多的帖子,我基本上必须阅读整个表格。

有谁知道如何更有效地实现这一点?

1 个答案:

答案 0 :(得分:2)

DynamoDB几乎肯定会为您工作,如果您需要借口使用它,请务必尝试一下。如果你得到吨或流量,它可能最终会很昂贵。

就个人而言,我会考虑使用redis来处理你要做的事情,这里有一个非常好的/详细的问题/答案,你可以如何实现它:

Scalable way of logging page request data from a PHP application?