• 请不要在回答技术问题时复制粘贴 AI 生成的内容
3country
V2EX  ›  程序员

求助:百万级数据报表统计有哪些解决方案?

  •  2
     
  •   3country · Mar 31, 2021 · 4912 views
    This topic created in 1893 days ago, the information mentioned may be changed or developed.

    SQLServer 的多表查询,每个表百万条数据,增量不多,要求实时变化或者 5 分钟刷新一次,有啥好的解决方案吗?

    ES 适合做吗?(公司有 ES 集群,大数据框架我只接触过 es )

    Supplement 1  ·  Apr 2, 2021
    今天继续了解了一下,公司应该是想做数据分析这方面的,比如实时的用户行为分析
    27 replies    2021-04-05 14:33:27 +08:00
    zoharSoul
        1
    zoharSoul  
       Mar 31, 2021
    es 可以的,
    实际上百万级我觉得 sql 数据库也完全能抗住... 毕竟数据量少
    TimePPT
        2
    TimePPT  
    PRO
       Mar 31, 2021 via Android
    试试统计可以试试 flink
    TimePPT
        3
    TimePPT  
    PRO
       Mar 31, 2021 via Android
    @TimePPT 实时
    3country
        4
    3country  
    OP
       Mar 31, 2021
    @zoharSoul sql 涉及各种计算,年度统计的时候很慢,报表太多,不想优化 SQL,想找一种统计方案(具体情况我不太清楚,领导给的信息比较少)
    3country
        5
    3country  
    OP
       Mar 31, 2021
    @TimePPT flink 需要其他关联的框架吗?学习成本怎么样?
    bthulu
        6
    bthulu  
       Mar 31, 2021
    才百万数据, 全部塞内存里就行了
    TimePPT
        7
    TimePPT  
    PRO
       Mar 31, 2021
    @3country 接入难度一般,官方文档还算全。实时维表统计比较方便。现在也流行这么玩。可以搜下「 flink 批流一体」,有不少大厂的经验介绍。
    imn1
        8
    imn1  
       Mar 31, 2021
    @3country #4
    年度统计不需要实时吧?截至到一个时间的统计,然后存统计结果
    3country
        9
    3country  
    OP
       Mar 31, 2021
    @imn1 定时查询然后放到 Redis ?
    imn1
        10
    imn1  
       Mar 31, 2021
    @3country #9
    你还是去问清楚详细需求吧,一般大周期(季、半年、年)的统计都是专门做报告的,实时的统计更多用于监测“异常”和分析变化趋向,年报数据每几分钟变一次是很奇怪的 —— 报告不可信
    至于用什么,那不是我擅长的
    flighter
        11
    flighter  
       Mar 31, 2021
    百万级 数据库就可以,ES 完全无压力
    kiracyan
        12
    kiracyan  
       Mar 31, 2021
    百万很小量级了
    qq1340691923
        13
    qq1340691923  
       Mar 31, 2021 via iPhone
    我就是用的 es,一个索引十几亿条数据无压力
    luoqeng
        14
    luoqeng  
       Mar 31, 2021
    flink
    ksedz
        15
    ksedz  
       Mar 31, 2021   ❤️ 1
    没有关键词查询需求的话建议 Clickhouse,简单粗暴,性能强劲
    daweibao
        16
    daweibao  
       Mar 31, 2021
    15 楼的方案可以考虑
    jenlors
        17
    jenlors  
       Mar 31, 2021
    ClickHouse +1
    xuanbg
        18
    xuanbg  
       Mar 31, 2021
    分级汇总。简单的说就是今年之前的数据是不变的,可以按需求汇总之后存起来。然后今年 1 、2 月份的数据也是不变了,也可以按月 /日汇总后存起来。剩下的也就是查当月数据罢了。或者干脆连当月的数据也按天汇总存起来,竟只需查询当日数据就够了。
    Alexf4
        19
    Alexf4  
       Apr 1, 2021
    Clickhouse +2,而且还可以帮你涉及下新的领域?
    wushigejiajia01
        20
    wushigejiajia01  
       Apr 1, 2021
    巧了,我最近就在搞报表开发,大多是百万数据表,千万表目前有一张(但是这张表涉及的统计不多)
    -------------------------------------------------
    针对报表开发,我们单独弄了个库,把原始数据同步过来专门用于报表开发,在同步的过程中会把一些必要的字段进行冗余,连缓存都没用

    现在那些百万表的关联查询,数据库完全能扛得住,适当的加些索引,当下一点问题都没有
    --------------------------------------------------

    当然你要问有没有隐患,那肯定有,过些年这些报表肯定越跑越慢,到时候肯定要优化,到时候分表、缓存之类的搞起来,基本上也能解决了,现阶段就不是我需要考虑的了,工期就这么多
    tairan2006
        21
    tairan2006  
       Apr 1, 2021
    百万级直接用关系型数据库都能扛得住…

    搞聚合查询不算是 es 专长,可以考虑 clickhouse 或者 greenplum,甚至 flink
    shanghai1943
        22
    shanghai1943  
       Apr 1, 2021
    @long2ice #17
    @Alexf4 #19 两位大哥。clickhouse 貌似不支持高并发的吧。
    leeg810312
        23
    leeg810312  
       Apr 1, 2021 via Android
    年报统计 5 分钟刷一次?定这技术需求的人是不是从来没有做过 OLAP ?月报年报根本不可能是实时报表,都是定期任务,明细数据输入截止后执行一晚上,第二天就能看所有报表了,即使单表上千万也足够。上亿数据就得用大数据计算框架,Spark/Flink 等都可以,但这得准备很多硬件资源
    Alexf4
        24
    Alexf4  
       Apr 2, 2021
    @shanghai1943 clickhouse 做 OLAP 比较合适,高并发这个要求得看具体场景,很多大厂还是有 clickhouse 的实践经验的。
    3country
        25
    3country  
    OP
       Apr 2, 2021
    @leeg810312 公司应该是想做实时数据分析,这方面用什么框架?
    leeg810312
        26
    leeg810312  
       Apr 3, 2021 via Android   ❤️ 1
    @3country Spark/Flink 都可以做实时流式计算,需要配合 Kafka,场景是类似用户行为分析(商用),交通流量分析(公共服务)这样,短时间窗口内快速计算较多数据(例如 10 秒 1000 下单的分析),几秒出结果。报表属于离线计算,针对每次几千万数亿或更多的数据量,可能要 10 几分钟甚至几小时才出结果。建议厘清实际技术需求做些调研。
    3country
        27
    3country  
    OP
       Apr 5, 2021
    @leeg810312 好的,谢谢老哥解惑
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2806 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 15:10 · PVG 23:10 · LAX 08:10 · JFK 11:10
    ♥ Do have faith in what you're doing.