订单数据实时汇总技术选型

2023-02-02 09:00:08 +08:00
 ppppppp123
公司正在开发订单数据看板,要求对数个月或者单天的订单数据按照单店面和多店面维度进行汇总展示,另外还要根据上面时间和店面两个维度汇总展示这些订单里面最受欢迎的商品信息(每个订单对应一个商品),近乎实时汇总,求大神推荐此类场景的实现技术,有代码或者教程的更佳。
5770 次点击
所在节点    程序员
59 条回复
ppppppp123
2023-02-02 11:22:23 +08:00
@bjfane 选个 3 个月区间的查询就要汇总 100w 条订单数据,mysql 是不是吃不消了。
ppppppp123
2023-02-02 11:24:00 +08:00
@liprais 可以选一个时间区间,比如 3 个月进行汇总和取 top 。
hexpop
2023-02-02 11:24:02 +08:00
100W 也很轻松啊,千万级别的我都 MySQL 一把梭
ppppppp123
2023-02-02 11:25:58 +08:00
@hexpop 厉害!它这个需求要及时反馈,界面上点击查询就要出结果,时间上能不能保证啊?
jamosLi
2023-02-02 11:32:41 +08:00
@ppppppp123 21 再塞 es ?
VincentYe123
2023-02-02 11:41:01 +08:00
订阅 mysql 消息,扔队列实时计算结果落库
Morii
2023-02-02 11:48:54 +08:00
@ppppppp123 #11 流处理 + OLAP 数据库
securityCoding
2023-02-02 11:49:23 +08:00
这点数据 flink 过分了,汇总到 clickhouse 随便查
zeonll
2023-02-02 11:55:14 +08:00
这点数据量,没必要建仓了,你甚至可以 canal + mysql
ppppppp123
2023-02-02 12:10:57 +08:00
@zeonll cannal 和 mysql 我看了下耦合蛮紧的
@securityCoding 感觉你这个方案可以!直接用 clickhouse 作为 mysql 的备份库,然后利用 ck 来汇总查询
ppppppp123
2023-02-02 12:12:57 +08:00
@securityCoding 上面 @OpenSea 说 ck 不适合实时的并发,这个是管理员端的数据看板,其实并发不太大。不知道 ck 可以近乎实时不?
XyIsMy
2023-02-02 12:57:28 +08:00
@ppppppp123
如果大表各种 join 实时查询,ck 会弱些。如果数据已经进行了预聚合,单表查询,ck 查询还是可以的。
至于并发,你可以预估下,并发多少,低于 100 且没有 大聚合查询,问题不大
数据延迟问题,这个避免不了,数据同步本来就存在延迟,而且需要看同步的策略。例如:内网环境,canal 1 秒同步一次,理论延迟会在 2 秒内。业务方接受 2 秒的延迟,那就没问题了
XyIsMy
2023-02-02 13:00:44 +08:00
@ppppppp123 如果不想折腾。直接用 mysql 也可以。把数据进行一层预处理就好。写个脚本,清洗统计数据,存到数据表内,直接查 统计表 数据即可
MaxFang
2023-02-02 13:02:27 +08:00
这个级别的数据量应该可以直接 mysql 查出来吧,近乎实时也可以做脚本每分钟汇总一次。
并且看目前要统计的需求,都是可以做到增量更新的吧。之前的数据归档存储+部分更新。
iwdmb
2023-02-02 13:07:50 +08:00
每天 10 万单用不到 Flink 吧 ...
100000/(12*60)=138
用业务时段去估每分钟也才 138 张单
b1ghawk
2023-02-02 13:13:33 +08:00
我想先 mark 一下
dashan333
2023-02-02 13:52:09 +08:00
监控 MySQL binlog , 使用工具同步到 clickhouse 。这个数据量,不用预聚合,不用使用 ck 的 summing ,直接 merge ,筛选条件都可以自定义
yibo2018
2023-02-02 13:55:33 +08:00
如果条件允许的话,其实可以玩玩 flink 的
OpenSea
2023-02-02 14:10:43 +08:00
@ppppppp123 我们遇到的场景,购买的某云低配 ck ,列表显示聚合订单实时数据,并发到 100 就撑不住了。最后优化掉了 ck
ppppppp123
2023-02-02 14:11:55 +08:00
@OpenSea 后面是怎么改进的?

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

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

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

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

© 2021 V2EX