现在数据库有一张表数据已经过亿了,需要从不同维度统计按日,按月的数据,有没有什么好的解决方案呀,求教各位大神
1
imherer 2020-10-13 17:11:33 +08:00
再建一张表把统计结果放进去,下次有用户统计的时候直接展示统计结果表里的数据即可
|
2
clf 2020-10-13 17:12:50 +08:00
看看 ClickHouse ?
|
3
duyuyouci OP @imherer 现在有几个维度是这样做的,但是还存在修改往日数据的场景,有没有类似于数据订阅那样的统计,或者是实时查询效率比较高的方案
|
5
misaka19000 2020-10-13 17:19:14 +08:00
Spark
|
6
NeezerGu 2020-10-13 17:19:43 +08:00
涉及上亿数据按天 /月 group by 的建议找大数据团队走 hive 来统计吧?
如果没有这方面的资源,那我很怀疑直接跑 sql,会比直接 select 出来然后 python 来跑还要慢? 另外如 1L,如果不不涉及历史记录修改,只涉及增量数据更新,那建议直接生成每天的结果数据,然后单独保存展示 |
7
sonice 2020-10-13 17:30:09 +08:00
为啥都觉得上亿就多,单机的 es 或者 clickhouse 解决都是轻轻松松
|
11
huayumo 2020-10-13 18:06:31 +08:00
我也觉得 es 挺好用
|
12
jenlors 2020-10-13 21:36:35 +08:00
ClickHouse 可以满足你
|
16
user8341 2020-10-14 00:41:03 +08:00
|
17
wellsc 2020-10-14 01:40:50 +08:00
时序数据库
|
18
lifanxi 2020-10-14 01:55:33 +08:00 via Android
|
19
rapperx2 2020-10-14 08:19:05 +08:00
我们公司也是过亿表遇见你这种情况,现在方案是迁移数据库 clickhouse (之前是 sqlserver )
|
21
kaiz1121 2020-10-14 09:58:24 +08:00 1
如果是单表,可以选择 clickhouse,但是 clickhouse join 操作不行,但 clickhouse 单表还是宇宙第一。复杂多表不能单单靠一个组件就解决的。需要上一套系统,从 ETL 开始 监听 MySQL binlog,或者写入 mysql 的业务,双写到消息队列,然后把数据同步到写优化层,比如 hudi,然后从从写优化层导入到读优化层,比如 doris,然后从 doris 查询就很快了。如果是简单的统计,可以用 hbase,不用引入读优化层,和写优化层。但是如果是报表类的复杂查询,hbase 是不够的,有钱的话,直接用 ES,省心,慢了加机器。 还是得看具体业务需求。
|
22
laminux29 2020-10-14 10:21:23 +08:00
什么业务,什么设备以及设备性能指标,什么系统,什么软件,数据结构怎样,相关设备最近一个月以分钟为粒度的负载表,你做这事有什么资源,做着事有什么性能指标或特性偏向,等等。你问的这个问题,至少要给出以上这些基本这些信息。不然,让我学楼上所有老哥,激活天赋技能 [先知] ,进行盲猜?
而且你做这事,信息安全,数据权限,备份等问题,你还得自己想好怎么处理。 |
23
madworks 2020-10-14 11:40:19 +08:00
上亿数据,不同维度,按日按月???直接报表工具啊,powerbi,tableau,ssas
|