为了账号安全,请及时绑定邮箱和手机立即绑定

mysql单表流水500W数据多维度统计的方案

mysql单表流水500W数据多维度统计的方案

叮当猫咪 2019-03-01 11:01:27
现在项目中有张流水表结构大概如下id sdkVersion jarVersion countryCode imei createTime 以前的需求是按sdkVersion,jarVersion,countryCode的分组求总数和imei排重后的总数,大致sql如下: select sdkVersion,jarVersion,countryCode,count(*),count(distinct imei) from xxx where createTime = 'xxxx-xx-xx' group by sdkVersion,jarVersion,countryCode 查出前一天的所有数据然后汇总到一张表里,结构大概如下 id sdkVersion jarVersion countryCode count(*) count(distinct imei) createTime 然后现在的需求是要任意纬度的组合查询,就是可以group by sdkVersiongroup by jarVersiongroup by countryCodegroup by sdkVersion,countryCode等等各种组合,如果按以前的每日汇总方案的话就要为不同的纬度组合建立很多个表,有什么好的方案可以解决这种问题?或者是用专门的统计框架可以解决的?
查看完整描述

4 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

apache kylin, 亚秒级olap

查看完整回答
反对 回复 2019-03-01
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

楼主可以去看看PipelineDB流式数据库

查看完整回答
反对 回复 2019-03-01
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

每日汇总的话,实时性要求并不高,500W 记录也还在可以处理的范围内,视图 + 定时计划,可以满足要求,不需要建多表。
题主最好能说明一下有什么瓶颈或者痛点,毕竟 mysql 是个成熟产品,换用新锐技术有一定风险。

查看完整回答
反对 回复 2019-03-01
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

写存储过程,每天定时跑就行了

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 1077 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信