新闻中心
前沿技术丨浅谈互联网中的流式数据应用(流式数据读取)
与传统的数据库数据处理相比,流式数据的实时处理在现实生活中更加常见,尤其是在互联网的应用背景下,数据的采集和数据驱动的应用都要求数据分析系统具有对流式数据的实时处理能力。
一 流式数据的采集
1 流式数据来源
(1)现有的时态数据分析系统通常会采用更底层的分布式采集机制进行实时数据的采集。分布式数据源产生的数据必须被实时、可靠地采集到一个或多个数据分析中心。日志记录确保数据交付的可靠性,触发器确保数据的及时性。
(2)大规模实时分析系统不仅从多个数据源采集数据来构建一个数据流,还可以通过不同的数据源构建多个数据流,并根据其关联性计算答案。
2 流式数据特征
(1)数据持续到达且到达速度快。
(2)无法预知所有数据何时能够全部到达。
(3)多数据流场景中不同数据流的数据交付存在不同程度的时延。
(4)实时数据规模宏大,通常难以被全部存储或存储访问代价大。
二 流式数据的表示
1 流式数据表示的基本假设
存储空间有限且不大。
2 流式数据表示目的
快速应对基于流数据的查询和计算。以此为目的的数据流表示方式应该根据不同的查询计算需求来设计。数据流表示方法的一个关键数学特性是线性特性,数据随时间流逝带来的变化不仅易于被识别,而且易于基于原始数据进行更新。
3 流式数据模型
流式数据的输入模型根据不同的时序范围可以划分为三种子模型,包括界标模型(landmark model)、窗口模型(window model)和快照模型(snapshot model)。
界标模型标记数据的起始时间,其对应的查询范围是初始时间到当前时间为止的数据。
窗口模型记录的是固定范围内的数据,有两种类型,分别是时间驱动(即窗口涵盖的时间长度固定)和数据驱动(即窗口涵盖的数据量固定)。窗口又可以分为三种形式,分别是滚动窗口(数据无重叠)、滑动窗口(数据部分重叠)和会话窗口(相邻窗口间存在间隔)。输出结果将根据完整窗口内容生成。针对窗口模型的操作包括两种,一种涉及单一时刻下的事件,一种跨越多个时刻的事件。
快照模型按照时刻记录数据,通常将数据操作限定在单个时间戳下或时间戳之间的数据上。
流式数据还有一些其他的导出模型,包括直方图和索引等,用于对流式数据中重要的内容能通过一个远小于数据集规模的结构(称为概要数据结构)被保存下来。研究和实践中,通常采用数据抽样、小波分析、数据过滤等方法得到数据流的导出模型。
转载来源:简书
作者:Jaling
著作权归作者所有。