1.流式数据、批式数据、实时数据、历史数据的区别:
根据数据处理的时效性,大数据处理系统可分为批式(batch)大数据和流式(streaming)大数据两类。
其中,批式大数据又被称为历史大数据,流式大数据又被称为实时大数据。
举个例子来说:我们把数据当成水库的话,水库里面存在的水就是批式大数据,进来的水是流式大数据。
复杂的批量数据处理(batch data processing),通常的时间跨度在数十分钟到数小时之间。
基于历史数据的交互式查询(interactive query),通常的时间跨度在数十秒到数分钟之间。
基于实时数据流的数据处理(streaming data processing),通常的时间跨度在数百毫秒到数秒之间。
2.实时计算,离线计算,流式计算的区别:
实时计算,强调的是实时。
比如小明要查看他去年一年的消费总额度,那么当小明点下统计按钮的时候,服务器集群就在噼里啪啦的赶紧计算了,必须在小明能够忍耐的时间范围内得出结果。这种计算的背后实现,一般都是冗余 + 各种高性能部件在做支撑,算法也对实时性做了优化,但实时计算并没有强调用那种算法,只要能保证高实时性的就行。
实时计算与离线计算的最大区别,就是离线计算是人无法忍耐的时间进行计算,因此人不需要等待,把任务丢给计算机后,自己该干嘛就去干嘛。
流式计算,比实时计算要稍微迟钝些,但比离线计算又实时的多,而且主要强调的是计算方法。
比如,服务器端,有一个值,是记录小明订单数量。当小明每买一件东西后,服务端立即发出一个交易成功的事件,该值接收到这个事件后就立即加1。如果用离线计算的方式来做,估计是在查询时,才慢腾腾的从低速存储中,把小明的所有订单取出来,统计数量。流式计算有点像数据库领域的触发器,又有些像事件总线、中间件之类的计算模式。
3.离线数据处理与流数据处理的区别:
离线数据处理——批处理 串行计算
流数据处理——流水线 并行计算
如上图所示,离线数据处理采用的是串行计算,流数据处理采用的是并行计算的方式,相比之下,流数据处理的时效性更好。
4. 目前主流的大数据处理技术体系主要包括hadoop及其衍生系统。
现有的大数据处理系统可以分为两类:批处理大数据系统与流处理大数据系统。
以Hadoop为代表的批处理大数据系统需先将数据汇聚成批,经批量预处理后加载至分析型数据仓库中,以进行高性能实时查询。这类系统虽然可对完整大数据集实现高效的即席查询,但无法查询到最新的实时数据,存在数据迟滞高等问题。
相较于批处理大数据系统,以Spark Streaming、Storm、Flink为代表的流处理大数据系统将实时数据通过流处理,逐条加载至高性能内存数据库中进行查询。此类系统可以对最新实时数据实现高效预设分析处理模型的查询,数据迟滞低。然而受限于内存容量,系统需丢弃原始历史数据,无法在完整大数据集上支持Ad-Hoc查询分析处理。因此,研发具有快速、高效、智能且自主可控特点的流式大数据实时处理技术与平台是当务之急。
1、什么是流式大数据,处理技术、平台及应用都是什么?
http://www.duozhishidai.com/article-905-1.html
2、Spark Streaming:大规模流式数据处理
https://blog.csdn.net/lskyne/article/details/37560609
3、什么是流式数据访问?
https://www.zhihu.com/question/30083497
4、流式计算和实时计算有什么区别?
https://www.zhihu.com/question/38996005