问答 / 1 / 19 / 创建于 5年前
比如,后台首页显示的一些数据,像,昨日新增用户数,今日新增用户数,昨日新增订单数,今日新增订单数… 是直接查询对应的表去统计,还是新建一张表去统计?
估算一下后期的数据量,数据量未达到十万级直接查 如果是myisam存储引擎的表就直接查
:joy: 我设计的话这种统计类型的数据肯定都是(先)存在 redis 里的。有保存价值的闲时定时任务保存就好。
有必要,因为我就是这么做的 :stuck_out_tongue_closed_eyes:
有,不然多刷几次后台就能把你们的数据库打挂
有必要,建议这种需求写定时脚本按天跑,如果运营要求比较高的话可以按小时或者分钟跑,有这种需求说明产品、运营已经开始关注项目的数据了,那么以后数据项只会越来越多,数据源不同的话会给以后开发维护带来麻烦。
你这查看的都是昨日和今日的数据,如果仅仅是这两天的数据(就是说过了今天昨日的数据就无用了),我觉得没必要新建表,存缓存即可。如果不是就需要新建表。
有用户量并且持续运营就新建表
我觉得有必要,可以定时任务每天跑一下
可容许偏差延迟查询的话 ,肯定是定时任务好一些
外包就不用啦。。直接select count(*) from user where ....
最好新建一张表,然后每天跑定时统计一下
必须有,偷偷告诉你,一般公司都这样做的
spark实时算
有,有的是两种数据库,分开的,然后定时,某一天的数据是死的,没必要重复查
如果是小网站,首页查询不多,很少登录后台,就没必要。其他的话,综合下。
有必要,存到表里面,就是最佳实践
对于我做的大部分项目, 完全没有必要。
定时??? 这么麻烦…
万能的答案: “看情况(数据量)”,我想这么回答。
看了大家的回答,我觉得是不是 设计过度 了…好吧,可能大家接触项目比较牛批
设计过度
从运营角度,不仅仅是为了后台显示,或者性能方面考虑,而是每天数据情况心里要有数,我的项目都是小时统计,天统计。一种,定时任务统计到表。二种,每写入一个就插入统计表,也叫静态表。总之,怎么弄看具体业务!
统计 我都是用 redis HyperLoglog 实现的
@ethan_xj 有错误率,只能统计要求不那么精确的数据,订单肯定是要求精确的。
我要举报该,理由是:
估算一下后期的数据量,数据量未达到十万级直接查 如果是myisam存储引擎的表就直接查
:joy: 我设计的话这种统计类型的数据肯定都是(先)存在 redis 里的。有保存价值的闲时定时任务保存就好。
有必要,因为我就是这么做的 :stuck_out_tongue_closed_eyes:
有,不然多刷几次后台就能把你们的数据库打挂
有必要,建议这种需求写定时脚本按天跑,如果运营要求比较高的话可以按小时或者分钟跑,有这种需求说明产品、运营已经开始关注项目的数据了,那么以后数据项只会越来越多,数据源不同的话会给以后开发维护带来麻烦。
你这查看的都是昨日和今日的数据,如果仅仅是这两天的数据(就是说过了今天昨日的数据就无用了),我觉得没必要新建表,存缓存即可。如果不是就需要新建表。
有用户量并且持续运营就新建表
我觉得有必要,可以定时任务每天跑一下
可容许偏差延迟查询的话 ,肯定是定时任务好一些
外包就不用啦。。直接select count(*) from user where ....
最好新建一张表,然后每天跑定时统计一下
必须有,偷偷告诉你,一般公司都这样做的
spark实时算
有,有的是两种数据库,分开的,然后定时,某一天的数据是死的,没必要重复查
如果是小网站,首页查询不多,很少登录后台,就没必要。其他的话,综合下。
有必要,存到表里面,就是最佳实践
对于我做的大部分项目, 完全没有必要。
定时??? 这么麻烦…
万能的答案: “看情况(数据量)”,我想这么回答。
看了大家的回答,我觉得是不是
设计过度了…好吧,可能大家接触项目比较牛批
从运营角度,不仅仅是为了后台显示,或者性能方面考虑,而是每天数据情况心里要有数,我的项目都是小时统计,天统计。一种,定时任务统计到表。二种,每写入一个就插入统计表,也叫静态表。总之,怎么弄看具体业务!
统计 我都是用 redis HyperLoglog 实现的
@ethan_xj 有错误率,只能统计要求不那么精确的数据,订单肯定是要求精确的。