1 流式计算
1.1 背景
在日常生活中,我们通常会先把数据存储在一张表中,然后再进行加工、分析,这里就涉及到一个时效性的问题。
场景一:如果我们处理以年、月为单位的级别的数据,针对这些大量数据的实时性要求并不高。
场景二:如果我们处理的是以天、小时,甚至分钟为单位的数据,那么对数据的时效性要求就比较高。
在第二种场景下,如果我们仍旧采用传统的数据处理方式,统一收集数据,存储到数据库中,之后在进行分析,就可能无法满足时效性的要求。
1.2 流式计算与批量计算
大数据的计算模式主要分为:
批量计算(batch computing)、
流式计算(stream computing)、
交互计算(interactive computing)、
图计算(graph computing)等。
其中,流式计算和批量计算是两种主要的大数据计算模式,分别适用于不同的大数据应用场景。
流数据(或数据流)是指在时间分布和数量上无限的一系列动态数据集合体,数据的价值随着时间的流逝而降低,因此必须实时计算给出秒级响应。
流式计算,就是对数据流进行处理,是实时计算。
批量计算则统一收集数据,存储到数据库中,然后对数据进行批量处理的数据计算方式。
两者的区别主要体现在以下几个方面:
(1)数据时效性不同
流式计算实时、低延迟;
批量计算非实时、高延迟。
(2)数据特征不同