【问题标题】:How to efficiently implement a page view counter in DynamoDB?如何在 DynamoDB 中高效地实现页面浏览计数器?
【发布时间】:2018-04-12 21:46:46
【问题描述】:

我实际上是在尝试建立一个网站,会员可以在其中发布博客条目,我想以绝对值以及不同的时间范围(例如,过去 24 小时、上周等)记录不同帖子的独特和整体页面浏览量.

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

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

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

【问题讨论】:

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


    【解决方案1】:

    DynamoDB 几乎肯定会为您工作,如果您需要使用它的理由,请务必尝试一下。如果您获得大量流量或流量,最终可能会很昂贵。

    就我个人而言,我会考虑将 redis 用于您要求做的事情,这里有一个关于如何实现它的非常好的/详细的问题/答案:

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

    【讨论】:

    • 完全同意。将 DynamoDB 用于分析用例势必会变得既昂贵又令人沮丧。
    猜你喜欢
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多