【问题标题】:Metrics-Database Number Saving Conventions?Metrics-数据库编号保存约定?
【发布时间】:2014-12-14 15:25:18
【问题描述】:

我想每天为我网站上的某些流程保存指标(统计数据),以便稍后在图表中显示它们。指标示例可能是:

FacebookLikes
SiteVisitors

现在我想知道如何设计 MySQL 表。 - 我是否应该保存“DeltaFacebookLikes”和“DeltaSiteVisitors” - 或者我是否应该保存每个条目不断增长的绝对数字:

ID    DATE    FACEBOOK_LIKES    SITE_VISITORS

第一个示例(保存增量值)是:
这里的问题是我永远不会有“总”值 - 除非我总结它们。

1    23.10    33                50
2    24.10    14                80
3    25.10    12                5
4    26.10    28                105

第二个例子(保存绝对值)是:
这里的问题是我有总值,但我需要从 v(x+1) 中减去 v(x) 以存档实际的增量值。

1    23.10    33                50
2    24.10    47                130
3    25.10    59                135
4    26.10    87                240

正确/错误的方式是什么?有什么错误的方法吗?
还是两者兼而有之?

【问题讨论】:

    标签: mysql mongodb naming conventions database


    【解决方案1】:

    我认为这个问题没有正确答案,但我的直觉告诉我要存储每天的增量数字。

    存储累积数字可能非常有效。只需在表中查找两个值,您就可以轻松获得两天之间的差异。如果您的用户询问任意时间范围内的 Facebook 点赞数,这将特别有效。

    另一方面,个别数字还有其他一些优势:

    • 如果您犯了错误或错过了一天的工作,那么解决问题会更容易。
    • 您可以更轻松地计算标准差和方差。
    • 您可以更轻松地计算非连续时间范围内的平均值,例如周一的平均值。
    • 趋势分析更容易。

    因此,从分析的角度来看,我会发现独立的每日测量是更好的选择。当然,您可以轻松地从一种转换到另一种,因此最佳选择可能取决于用户访问模式。

    【讨论】:

      猜你喜欢
      • 2021-11-03
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 2016-08-13
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多