大数据计算模式有哪些:选型与落地参考

大数据计算模式有批处理计算、流处理计算、交互式计算、图计算、内存计算五种主流类型,不同模式对应的数据特征、延迟指标、集群资源消耗差异明显,你需要根据数据是静态历史数据集还是实时持续数据流、业务可接受的响应时延、待处理数据关联关系强弱完成选型,批处理适合TB至PB级离线历史全量数据统计,流处理适合毫秒至秒级实时不断涌入的数据,交互式计算面向即席查询分析场景,图计算处理大量实体关联网络数据,内存计算依托内存加速各类计算任务,该分类体系参考中国信通院2024《大数据技术白皮书》,适用边界为互联网、政企数仓、工业物联网常规大数据业务,不覆盖航天仿真、超算科学计算这类高性能计算专属场景。

大数据计算模式基础能力对比

计算模式典型时延数据形态代表开源组件
批处理计算分钟至小时级离线静态数据集HadoopMapReduce,SparkCore
流处理计算毫秒至秒级持续流入实时数据流Flink,SparkStreaming
交互式计算亚秒至数秒存储好的结构化大数据集Presto,Impala
图计算分钟级为主带关联关系的图数据集GraphX,Giraph
内存计算亚秒级各类可加载进内存的数据Spark,Ignite

批处理计算会将全部待处理数据完整读取后再执行运算,数据不会边来边算,它优先保障计算吞吐能力,对处理时延容忍度较高。你做日志日统计、月度报表、历史数据清洗转换这类任务,优先选用批处理计算,它可以充分利用磁盘存储,硬件成本较为可控,但是无法输出实时结果,不要把批处理模式用于订单实时统计类强实时业务,曾经有项目直接用MapReduce做实时大屏,每一次查询都扫描全量磁盘文件,最终出现大屏刷新间隔超过三十分钟无法交付的结果。

流处理计算把数据看作源源不断的流,数据到达系统就立刻开展局部计算,不需要等待全部数据集齐。流处理内部又分为事件时间与处理时间两种语义,事件时间以数据本身携带的业务发生时间为准,处理时间以服务器接收数据的时刻为准,处理时间实现简单,但在网络抖动、数据乱序场景下,统计结果会出现一定偏差,金融交易统计场景大多会选择事件时间语义,同时配置水印机制处理迟到数据。

交互式计算面向人主动发起的即席查询,业务人员手动输入分析语句,系统快速返回计算结果。它不会对全量数据做预计算,会按需扫描部分数据完成查询,适合数据分析人员探索性挖掘,当查询扫描的数据范围过大时,它的资源消耗会快速上涨,集群并发查询数量过高会引发节点卡顿,生产环境需要设置查询扫描数据量上限做资源防护。

图计算专门针对由顶点、边组成的关联网络数据开展运算,社交好友链路、风控资金转账网络、路网路径分析都属于这类场景。普通的批处理框架处理关联网络数据时,需要反复做数据shuffle,执行效率偏低,图计算框架会对图拓扑结构做专门存储优化,迭代遍历节点与边,完成最短路径、社区发现、页面排名这类迭代类运算。

内存计算将大部分中间数据放置在内存当中,减少磁盘读写带来的耗时开销,它不属于独立业务场景,更多作为加速底座,可兼容批、流、交互式多种上层计算逻辑。开启内存计算会大幅提升服务器内存硬件需求,如果你的集群内存资源不足,大量中间数据会溢写回磁盘,就会失去内存加速带来的性能增益,性能回落至普通磁盘计算水平。

混合模式,是生产环境高频选择。

实际业务很少单独使用单一大数据计算模式,多数平台会搭建混合计算架构,离线大统计跑批处理,实时指标跑流处理,分析师自助分析使用交互式计算,风控链路分析调用图计算,底层依托内存计算优化执行速度。你搭建大数据平台时,不要盲目集齐全部计算组件,优先梳理业务时延、数据规模,再挑选对应模式,多余组件会提升运维复杂度,增加故障发生概率。

不同大数据计算模式之间可以实现数据互通,批处理输出的结果数据集,可以作为交互式计算的查询数据源,流处理计算产出的实时结果,也能够落盘存储,再交由批处理做离线校对,以此兼顾实时数据时效性和离线数据准确性,这套批流协同方案,在互联网业务指标统计中使用较为普遍。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于大数据计算模式有哪些的文章欢迎访问:百科