流式数据、批式数据、实时数据、历史数据的区别

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据中台之结构化大数据存储设计 1. 前言 任何应用系统都离不开对数据的处理,数据也是驱动业务创新以及向智能化发展最核 心的东西。这也是为何目前大多数企业都在构建数据中台的原因,数据处理的技术已经 是核心竞争力。在一个完备的技术架构中,通常也会由应用系统以及数据系统构成.应用 系统负责处理业务逻辑,而数据系统负责处理数据。 传统的数据系统就是所谓的『大数据』技术,这是一个被创造出来的名词,代表着新 的技术门槛。近几年得益于产业的发展、业务的创新、数据的爆发式增长以及开源技术 的广泛应用,经历多年的磨炼以及在广大开发者的共建下,大数据的核心组件和技术架 构日趋成熟。特别是随着云的发展,让『大数据』技术的使用门槛进一步降低,越来越 多的业务创新会由数据来驱动完成。 『大数据』技术会逐步向轻量化和智能化方向发展,最终也会成为一个研发工程师的 必备技能之一,而这个过程必须是由云计算技术来驱动以及在云平台之上才能完成。应 用系统和数据系统也会逐渐融合,数据系统不再隐藏在应用系统之后,而是也会贯穿在整 个业务交互逻辑。传统的应用系统,重点在于交互。而现代的应用系统,在与你交互的同 时,会慢慢的熟悉你。数据系统的发展驱动了业务系统的发展,从业务化到规模化,再到 智能化. 业务化:完成最基本的业务交互逻辑. 规模化:分布式和大数据技术的应用,满足业务规模增长的需求以及数据的积累。 智能化:人工智能技术的应用,挖掘数据的价值,驱动业务的创新. 向规模化和智能化的发展,仍然存在一定的技术门槛。成熟的开源技术的应用能让一 个大数据系统的搭建变得简单,同时大数据架构也变得很普遍,例如广为人知的Lambda架 构,一定程度上降低了技术的入门门槛.但是对数据系统的后续维护,例如对大数据组件 的规模化应用、运维管控和成本优化,需要掌握大数据、分布式技术及复杂环境下定位 问题的能力,仍然具备很高的技术门槛。 数据系统的核心组件包含数据管道、分布式存储和分布式计算,数据系统架构的搭建 会是使用这些组件的组合拼装。每个组件各司其职,组件与组件之间进行上下游的数据 交换,而不同模块的选择和组合是架构师面临的最大的挑战。 本篇文章主要面向数据系统的研发工程师和架构师,我们会首先对数据系统核心组件 进行拆解,介绍每个组件下对应的开源组件以及云上产品。之后会深入剖析数据系统中 结构化数据的存储技术,介绍阿里云Tablestore选择哪种设计理念来更好的满足数据系统 中对结构化数据存储的需求。 2. 数据系统架构 1. 核心组件 上图是一个比较典型的技术架构,包含应用系统和数据系统.这个架构与具体业务无 关联,主要用于体现一个数据应用系统中会包含的几大核心组件,以及组件间的数据 关系.应用系统主要实现了应用的主要业务逻辑,处理业务数据或应用元数据等。数据系 统主要对业务数据及其他数据进行汇总和处理,对接BI、推荐或风控等系统.整个系统架 构中,会包含以下比较常见的几大核心组件: 1. 关系数据库:用于主业务数据存储,提供事务型数据处理,是应用系统的核心数据存 储。 2. 高速缓存:对复杂或操作代价昂贵的结果进行缓存,加速访问。 3. 搜索引擎:提供复杂条件查询和全文检索。 4. 队列:用于将数据处理程异步化,衔接上下游对数据进行实时交换。异构数据存储 之间进行上下游对接的核心组件,例如数据库系统与缓存系统或搜索系统间的数据 对接。也用于数据实时提取,在线存储到离线存储的实时归档。 5. 非结构化大数据存储:用于海量图片或视频等非结构化数据的存储,同时支持在线查询 或离线计算的数据访问需求. 6. 结构化大数据存储:在线数据库也可作为结构化数据存储,但这里提到的结构化数据存 储模块,更偏在线到离线的衔接,特征是能支持高吞吐数据写入以及大规模数据存 储,存储和查询性能可线性扩展。可存储面向在线查询的非关系型数据,或者是用 于关系数据库的历史数据归档,满足大规模和线性扩展的需求,也可存储面向离线 分析的实时写入数据。 7. 量计算:对非结构化数据和结构化数据进行数据分析,量计算中又分为交互式分 析和离线计算两类,离线计算需要满足对大规模数据集进行复杂分析的能力,交互 式分析需要满足对中等规模数据实时分析的能力。 8. 计算:对非结构化数据和结构化数据进行流式数据分析,低延迟产出实时视图。 对于数据存储组件我们再进一步分析,当前各类数据存储组件的设计是为满足不同场 景下数据存储的需求,提供不同的数据模型抽象,以及面向在线和离线的不同的优化偏 向。我们来看下下面这张详细对比表: 2. 派生数据体系 在数据系统架构中,我们可以看到会存在多套存储组件.对于这些存储组件中的数据 ,有些是来自应用的直写,有些是来自其他存储组件的数据复制。例如业务关系数据库 的数据通常是来自业

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值