求问一个面试场景题

场景题:滴滴一天会有5kw订单,这些订单存在数据库中,每条记录存有时间、司机信息和金额,如何实时计算每一个司机近三十天的流水。 我的想法:可以考虑到按司机id分表,但是如果表随着时间慢慢过于大了怎么处理呢,是吧比较旧的数据做迁移冷热分离吗?还是就开个新表?另外就是怎么加快计算速度,比如司机30天内的单量可能很大,做前缀和计算or新开一个存司机累计流水的表?
全部评论
我有一个想法在存入数据库的时候先放到redis里,再给每个数据添加司机的标签,这样每次实时查司机流水时,只需要在redis里找对应的司机标签,之后将本月账单累和。或者存到redis里的时候每次都进行累和,只保存他本月以有流水。
1 回复 分享
发布于 2024-10-01 10:21 黑龙江
订单实时状态:redis 存储三种映射数据:订单 id->订单实时状态 司机 id->司机当前活跃订单id 用户 id->用户当前活跃订单 id。 这些数据都只存储活跃订单,设置过期时间,并在下一次访问时检查过期数据。 订单结束 30 分钟后转为冷订单。
点赞 回复 分享
发布于 01-16 12:28 新疆
kafka加flink解决,老数据离线计算
点赞 回复 分享
发布于 2024-11-15 15:46 广东
校友~
点赞 回复 分享
发布于 2024-10-07 19:06 北京

相关推荐

七牛云头号黑子:人家是过度包装被看出来没过简历,你是包都不包啊兄弟
点赞 评论 收藏
分享
评论
3
18
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务