如何实现业务数据的实时响应

142 天前
 wld

1.背景:我是写 php 的,负责的业务是广告数据的采集和展示,公司这边需要看年度报表,年数据大概一年 1 亿用户量左右,消耗流水大概几亿

2.目的:能够让老板实时的准确的看到年度,月度,日度的数据。

958 次点击
所在节点    程序员
12 条回复
lsk569937453
142 天前
提个问题需求都讲不清楚。让别人怎么回答?

1.单表多少数据?需要查几个表?年度,月度,日度的数据计算时长是多少?
2.每天 0 点定时任务把报表算好可否满足你的"实时"需求?
3.最后,我只会给你推荐 clickhouse,因为他 100%可以满足你的需求。
shen13176101
142 天前
bi 报表?实时响应---WebSocket 考虑数据量大查询耗时的话,年月度每天凌晨计算归档,也就日度的数据,话说 navicat 里有个图表功能直查数据库出图表
JIAOSHOUv587
142 天前
doris ,flinkcdc ,datart 一类的
Ericcccccccc
142 天前
异步跑定时任务, 所有数据 15 分钟更新一次符合老板需求不?
wbrobot
142 天前
2012 年我做日 30 亿访问量的 http 日志分析
我们的方案是 storm+插件,把统计好的数据丢到 MySQL ,然后 PHP 展示就行了
能做到 3 分钟内的伪实时数据
wld
142 天前
@lsk569937453 不好意思,第一次发帖,没写完按到快捷键直接发出来了

1.问题:我是写 php 的,负责的业务是广告数据的采集和展示,公司这边需要看年度报表,年数据大概一年 1 亿用户量左右,消耗流水大概几亿;老板想在各个不同的页面看到财务相关的数据,之前我们是做了跟多统计表(基本上时间维度是日维度),对年度数据的时候,数据对不上的就需要改动很多数据,所以想问下,如何更优的处理下统计的业务报表

2.目的:能够让老板实时的准确的看到年度,月度,日度的数据。

3.目前的解决方案:把老板看到的数据直接使用基础数据表读取出来(响应慢,但是数据对)

4.疑惑
4.1 是否需要压缩数据到月表,年表这种(改起来很累)
4.2 是否需要去学习下大数据相关的内容,初步了解到涉及到业务报表相关的是使用 python 或者 R 语言写一些自动化报表,感觉不是很符合现在需求,是否有了解的伙计帮忙解答一下哈
4.3 别的公司是如何处理年度财务相关的数据统计的
bthulu
142 天前
就你老板一个人看, 整这么复杂干嘛.
两个简单方案
1. 先把当前数据统计好. 再通过类似阿里云的 DTS 订阅相关数据的增删改, 实时统计即可.
2. 在数据库查询上优化一下, 该分库的分库, 该分表的分表, 该分区的分区, 每个分库分表分区开一个协程同时去查, 再汇总计算.
bthulu
142 天前
才看到你的目的是:能够让老板实时的准确的看到年度,月度,日度的数据。
正常来说每天晚上 0 点统计一边完事.
难道你今天上午 10 点跟今天下午 2 点的年度, 月度, 日度报表数据差异会很大吗?
就算差异很大, 也很好解决.
还是晚上 0 点统计一边.
老板查的时候, 再把从 0 点到老板查的这个时间点之间的数据, 折算到 0 点的统计数据里面去就行了.
thinkershare
142 天前
不要打算搞实时统计,做日结&周结&月结&年节,如果需要细化,就继续细分时间段。然后用计划任务来调度。看看银行怎么搞得,各个银行的账单系统都不是实时的。除非你的系统没几个人,实时统计最终会搞挂掉你的数据库。
wld
142 天前
@bthulu 感谢回复哈。
广告系统的数据有个最大的难处就在于数据不在于自己这边,是分散在各个其他的平台的,数据获取过来会有各种各样的问题导致数据的准确度总是差点,比如说自身的 bug,对方的 bug ,网络问题,配置问题,服务器问题等等。

所以到年底的时候总是需要去把这些数据补回来,当然吃过亏后,我们也都每天和每月都会去补一遍昨天,上个月的数据,但如此,也依然会有一些漏掉的数据,结果就是补的操作不可避免。

但总的来说,需要弥补的来源数据也只有用户表,订单表和各平台*消耗表,大概 7-8 张,然后在统计成各维度的统计表,就十来张了。每张数据表一年的数据都需要核对一下的话,如果每一种都还要分割成日 周 年等,统计方案的工作量和心理压力就有点顶不住了。
wld
142 天前
@thinkershare 好的 感谢回复哈
flmn
141 天前
感觉后台定时算,把结果存 mysql 供查询就够了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002281

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX