流式计算概述
流式计算概述
流式计算的系统设计和实现(内存计算)
增量计算、流式计算、批量计算的区别?
- 流式计算(流式计算是一种特殊的增量计算)
利用分布式的思想和方法,对海量“流”式数据进行实时处理,源自业务对海量数据,在“时效”的价值上的挖掘诉求
- 实时计算(ad-hoc computing,计算不可枚举,计算在query时发生)
数据的实时计算,支持在大数据集的在线复杂实时计算(实时数据的实时计算)
- 增量计算
优势:
- 中间计算结果实时产出
- 时效性强
- 平摊计算
- 中间计算状态不膨胀
- 有状态的failover(容错效率高)
- 批次运算(将整个数据进行recomputing,克服数据倾斜能力,降低数据倾斜对整个计算性能的退化的影响)
增量计算与流式计算
应用场景
- 日志采集与在线分析
- 大数据的预处理
- 风险监测与告警(对交易业务的虚假交易进行实时监测与分析)
- 网站与移动应用统计分析(双11运营、淘宝量子统计等各类统计业务分析中,提供实时的业务统计分析报表)
- 网络安全监测(实时监控、实时分析、实时监测、实时对抗、在线服务计量与计费管理系统)
- 工业4.0(实时计算、流式计算)
- 物联网(实时计算、流式计算)
特点
1.数据特点 –> 流
由业务产生的有向无界的数据流
- 不可控性
到达时机:不同的数据通路,到达的时机完全不可控
UPDATE语句:对系统后续的设计、容错及语义方面产生极大的影响
相关数据顺序
数据质量
数据规模
离线计算、批量计算:数据仓库的质量体系构筑的比较完善
- 体系缺失
数据源的治理
数据质量的治理
- 时效性要求(对整个计算处理的数据力度,有更高的要求)
容错方案
体系结构
结果输出
2.处理粒度最小
对整个系统架构具有决定性影响
3.处理算子对状态的影响不同
- 无状态计算
- 有状态计算
- 数据进入顺序有要求
4.输出要求
- 一致性
- 连贯性
5.计算特点
- 时效性:高
- 质量:准
- 容错:稳
- 多样性:多(精确、只多不少、丢sla)