用于统计视图/喜欢/下载的数据库设计?

时间:2017-09-17 23:02:16

标签: mysql sql database usage-statistics

因此,我正在尝试设计数据库设计以跟踪视图,喜欢和下载。现在要跟踪的条目数量预计为1米或更多,所以通常我会每天跟踪每个条目,但是对于1米,我对性能有所担忧,甚至可能是硬盘上的大小。

客户希望能够在上周,上个月,去年等范围内显示最高统计数据。所以我不确定是否应该通过将数字从几天到几周或几个月相加来分割数据并删除其他所有不相关的内容,或者通过跟踪所有内容来保持更灵活,能够自由查询所需的统计数据。

数据库:MySQL

我必须每天保存一次计数器。

2 个答案:

答案 0 :(得分:0)

我认为您需要每天跟踪它,然后在本周末删除每日统计信息,并在第二周对每周数据执行此操作,如果您愿意,则执行月份和年份保留你最后的统计数据。您可以创建一份工作来完成这项工作。我希望这对你有帮助。

答案 1 :(得分:0)

由于操作仅附加数据,因此将其存储在时间序列格式中。

每当您收到点击/观看数据时,请计算并将结果尽可能地放在最小尺寸上。如果我们能够每小时总结一次,那么它是最佳选择〜对性能有益。每当我们需要了解更高维度的数据时,只需总结即可。不要按需计算它(统计数据),例如:扫描1000万行只是为了计算1天的数据,这是繁重的操作。

通过这种方法,您将节省两件事:

  1. 存储,您可以备份超过x次的旧数据(例如超过3个月),因此数据库大小保持紧凑
  2. 性能