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

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

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

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

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

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