我有一个表记录了系统中所有功能的使用日志,精确到秒,我们简称为秒表。
现在有需求是,分别制作对应的功能使用次数汇总,年,月,日,3个维度的报表。
这个秒表1个月大概会增加400W条数据。
我的做法是,每一个月手动执行一次汇总方法。
1.先把秒表汇总出日表
2.再从日表汇总出月表
3.再从月表汇总出年表
4.然后删除秒表的数据,只保留最近7天的
这个方案有几个弊端,
1.就是第一步,从秒表汇总出日表的时候,由于数据量太大,一个groupby一般都要卡很长时间,有时候还会假死。
2.就是第四步,为了避免第一步数据量太大,所以才在汇总后删除用过的数据。但是这样删除之后,就等于丢失了实时数据。
所以。。。想问问大神们平时是怎么处理这些情况的,有什么更好的方案?
1、你的第一步可以按照小时groupby 这样时间不会太长
2、可以将秒表分表处理,即1周一个表,或者1天一个表,这样也可以解决这些问题。