流计算与批量计算的对比

批量计算基于预先加载数据和定时触发,适合历史数据分析,而流计算强调实时数据处理和低延迟,适用于实时事件触发的场景。流计算使用常驻计算服务,数据实时写入并在计算后立即丢弃,结果快速反馈,适用于实时展示需求。两者在大数据处理中互为补充,流计算是对批量计算的时效性增强。
摘要由CSDN通过智能技术生成

相比于批量大数据计算,流(式)计算整体上还属于较为新颖的计算概念,下面我们从用户/产品层面来理解下两类计算方式的区别。

批量计算

目前绝大部分传统数据计算和数据分析服务均是基于批量数据处理模型: 使用ETL系统或者OLTP系统进行构造数据存储,在线的数据服务(包括Ad-Hoc查询、DashBoard等服务)通过构造SQL语言访问上述数据存储并取得分析结果。这套数据处理的方法论伴随着关系型数据库在工业界的演进而被广泛采用。但在大数据时代下,伴随着越来越多的人类活动被信息化、进而数据化,越来越多的数据处理要求实时化、流式化,当前这类处理模型开始面临实时化的巨大挑战。传统的批量数据处理模型传统的批量数据处理通常基于如下处理模型:

  1. 使用ETL系统或者OLTP系统构造原始的数据存储,以提供给后续的数据服务进行数据分析和数据计算。即下图,用户装载数据,系统将根据自己的存储和计算情况,对于装载的数据进行索引构建等一系列查询优化工作。因此,对于批量计算,数据一定需要预先加载到计算系统,后续计算系统才在数据加载完成后方能进行计算。
  2. 用户/系统主动发起一个计算作业(例如MaxCompute的SQL作业,或者Hive的SQL作业)并向上述数据系统进行请求。此时计算系统开始调度(启动)计算节点进行大量数据计算,该过程的计算量可能巨大,耗时长达数分钟乃至于数小时。同时,由于数据累计的不可及时性,上述计算过程的数据一定是历史数据,无法保证数据的”新鲜”。用户可以根据自己需要随时调整计算SQL,甚至于使用AdHoc查询,可以做到即时修改即时查询。
  3. 计算结果返回,计算作业完成后将数据以结果集形式返回用户,或者可能由于计算结果数据量巨大保存着数据计算系统中,用户进行再次数据集成到其他系统。一旦数据结果巨大
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值