1
snappyone 2019-06-12 17:26:06 +08:00
你这个需求暂时没必要 hadoop,mysql 从库做统计能满足暂时需求应该
|
4
misaka19000 2019-06-12 17:37:11 +08:00
你这个需要的是 OLAP 吧?
|
5
roscoecheung1993 2019-06-12 17:55:57 +08:00
@caqiko 从库就很自由了...愿意写结果表就写结果表,不愿意写就随时跑 sql 呗~跑几个小时即使高负载也不影响主业务的
|
6
caqiko OP @roscoecheung1993 但是前端报表要能及时看到啊。。不能前端请求等几个小时才出来个图片。。
|
7
caqiko OP @misaka19000
我们现在也考虑使用 olap 不知道您对产品选型有没有什么好的建议? |
8
endershadow 2019-06-12 18:01:59 +08:00 1
clickhouse 完事
|
9
mind3x 2019-06-12 18:08:07 +08:00 1
Druid 了解一下
|
10
npe 2019-06-12 18:11:58 +08:00
数据太大没办法做到实时,建议用定时任务,将数据提前准备好。代价是:数据延迟一天。
|
11
myyou 2019-06-12 18:21:50 +08:00
Hadoop+kylin 可以做实时查询。数据量早晚都变大,不如尽快上 Hadoop,也方便前期积累经验。
|
12
akira 2019-06-12 18:36:10 +08:00
目前想到的临时方案是存储过程写结果表,定时更新。
比如一张表记录每天的新用户数和活跃用户数,一张表记录每天的订单情况。 ------------------ 就是这个方案 起码足够你们再抗一年半年了 |
13
KasonPasser 2019-06-12 19:55:32 +08:00
我之前做了一个,就是每半小时就统计一次当天的数据。不过我这对数据的实时要求是没有那么高的,同时这样统计会是有一些数据有差异性,要能接受这差异才可以这样使用。
|
14
snappyone 2019-06-12 20:24:08 +08:00
@caqiko 还有个方案,用 canal 拉 mysql 增量数据处理之后再合并,但是有一定限制,你可以看看适合你们不
|
15
beidounanxizi 2019-06-12 20:26:51 +08:00
elk 轻松搞定 MySQL 单表查询千万级还是能 hold 住的 好好利用索引也没问题 join 查询的话 还是预处理数据走 elk 吧
|
16
xiaochun41 2019-06-12 20:46:11 +08:00
这个量级索引使用合理的话,直接使用 sql 查没什么问题。
如果担心影响数据库上的实时业务,像上面的同学说的,可以使用从库做统计, 也可以考虑通过采集日志的方式来做。 |
17
DiverRD 2019-06-12 20:54:55 +08:00 via Android
从库,索引利用好,把复杂的语句联表这些拆成简单的语句,多查几次。 千万级别还是可以应付的,没必要实时,允许数据一定承受范围内的延迟。
|
18
fun 2019-06-12 21:17:18 +08:00
druid 很适合
|
19
Vamposine 2019-06-12 21:17:52 +08:00 via iPhone
apache kylin 项目了解一下,数据源可以对接 mysql,支持 sql 查询,秒级响应
|
20
Vamposine 2019-06-12 21:19:54 +08:00 via iPhone
当然如果公司有预算,可以上 Kyligence Enterprise 企业版( apache kylin 的商业版),有兴趣可以联系我
|
21
Vamposine 2019-06-12 21:22:06 +08:00 via iPhone
忘了提了,Kyligence Enterprise 现在无缝对接各大主流 BI 产品,那些 api 什么的根本不需要你提供。基本上就是开箱即用解决你现在所有的需求。速度非常快,当然选择 kylin 自己维护开发也可以。(顺带打得广告应该不会违反 v2 的规矩吧?)
|
22
fireapp 2019-06-13 00:04:31 +08:00 via iPhone
binlog 实时同步写 avro,隔天 avro 转 parquet 然后单机 apache drill 或者单机 spark sql 鲁 sql 完事
|
24
fireapp 2019-06-17 08:15:55 +08:00 via iPhone 1
@caqiko 根据我的经验实施起来不麻烦,都是一些工具,找几个 demo 试试就会了
可以去掉 avro 这个,binlog 实时写 文本,csv/tsv 都行,隔天转 parquet, 转 parquet 能极大提高查询效率,还顺带支持压缩 drill 比 spark sql 简单,解压,简单配置下内存,启动就行, 通过它来 撸 sql 查询文本跟 parquet 文件 提供一台 8 核 16G 机器足够,都是秒查 |
25
coder2019 2019-09-16 10:02:16 +08:00
现在我也遇到这个问题,用存储过程联表几个千万级表做数据统计,将结果存到另一张表里,统计操作大表时会直接卡死,各种调索引都没用,有人有经验分享吗
|
26
jenlors 2020-01-01 01:01:25 +08:00
最近也遇到这样的需求,查询了一番似乎 clickhouse 是比较好的解决方案。
|
27
shanechiu 2020-12-11 23:39:05 +08:00
为什么没人说 elasticsearch?
|
28
tryit 2021-01-26 11:24:28 +08:00
请问下楼主现在的方案是什么呀,我们也遇到这个问题,mysql 统计查询到响应时间太长了,定时统计结果又不够灵活。。想求教下~谢谢
|