用于存储访客统计信息的Django模型理念

时间:2016-11-21 08:13:01

标签: django google-analytics model analytics

我目前正在寻找构建一个Django模块,用于为网站提供谷歌分析,如数据,但没有谷歌分析。

所以我想以某种方式处理/记录请求,然后才能显示有关访问者的累积统计数据。

  1. 总观看次数
  2. 移动视图总数
  3. 桌面视图总数
  4. 来自北美的访客
  5. 来自南美洲的访客
  6. ...
  7. 目前,我所想到的内容相当于一个非常大的枚举

    class Entry(models.Model):
        date   = models.DateTimeField() # statistics are partitioned chronologically
    
        total  = models.IntegerField()  # number of total views
        mobile = models.IntegerField()  # number of mobile views
        ...
        from_na = models.IntegerField() # from north america
        from_sa = models.IntegerField() # from south america
        ...
    

    然而,正如人们可能想象的那样,这将是非常不可扩展的,因为未来对其他感兴趣领域(例如来自南极洲的访问者)的任何需求都需要修改整个数据库表的模式。

    主要是,我对存储使用与可扩展性感兴趣。

    例如,如果我想要非常可扩展,我可以为存储所有相关基本信息(用户代理,IP地址等)的每个请求保存一个元组,然后通过巧妙地使用聚合来获得所有需要的统计信息。 (虽然我不太确定这是否可行)

    如果我想要对存储使用非常友好,我可以使用非常大的整数字段枚举。 (虽然这又回到了我们最初难以扩展功能的问题)

    我想知道是否有人可以分享任何有关Django模型的替代实现的见解,其目的是将访客统计信息记录并显示到网站

    谷歌分析有什么作用?

0 个答案:

没有答案