赞
踩
流式数据是大数据环境下的一种数据形态,其理论诞生于20世纪末,并在云计算和物联网发展下逐步成为当前的研究热点。流式数据与传统的数据是相对的。与静态、批处理和持久化的数据库相比,流式计算以连续、无边界和瞬时性为特征,适合高速并发和大规模数据实时处理的场景。当前大数据环境下的许多应用呈现多源并发、数据汇聚、在线处理的特征,所以实时数据处理的相关研究迅速发展,并在许多关键领域,如传感网络、金融、医疗、交通和军事领域得到了广泛的应用。
大数据环境下,流式数据作为一种新型的数据类型,是实时数据处理所面向的数据类型,其相关研究发展迅速。这种实时的流式数据,存在如下几个特征:
数据流模型
1. 时间序列模型
2. 收银机模型
3. 转门模型
其中收银机模型可以看做是特殊的转门模型,假设转型模型的更新量只有正值就是收银机模型
表2-1 Data Stream 与 Database 的比较
比较项 | Data Stream | Database |
---|---|---|
数据类型 | 在线数据,无边缘 | 静态、离线数据 |
数据元组 | 离散数据项、带有时间戳 | 关系数据,至少满足第一范式(INF) |
数据更新 | 持续更新,频率极高 | 更新频率相对低 |
使用模式 | 维护查询,流入数据 | 维护数据,提交查询 |
查询方式 | 单遍扫描,顺序访问数据 | 可多遍扫描,随机访问数据 |
返回结果 | 连续返回,推送结果,容忍非精确结果 | 事务一次性返回,提取精确结果 |
数据持久化 | 输入数据在内存暂存,结果在返回后立即丢弃,或在有限时间内持久化 | 输入输出来自持久化存储,结果可以持久化存储 |
对于另一个与数据流相关且相似的概念是Dataflow,而且Dataflow也被翻译为“数据流”,这更容易导致概念的混淆。以下表2-2分析了两者的区别和联系
比较项 | Data Stream | Dataflow |
---|---|---|
概念起源 | Database | Control Flow |
目标 | 实时性的数据处理 | 数据驱动的任务协同 |
典型应用 | 网络日志分析、金融监控预警 | 科学工作流(e-Science Workflow) |
实时数据处理也称实时计算或反应计算。相应地,针对流式数据的实时处理,称为流式数据处理或流式计算。由定义可知,流式数据具有无边界的特征,也即理论上是无穷的数据项序列。而流式实时计算只能使用有限的内存资源,所以数据流的算法一定是某种程度对流的摘要化处理。摘要数据结构和窗口都是最常用的摘要化技术。
摘要数据结构是任何比本身基础数据集小得多的数据结构:
1. 可以驻留内存,使得查询及时响应而避免访问磁盘
2. 远程传输的代价小
3. 对系统整体的空间开销影响小
4. 当访问基础数据集的开销过大时,可以作为基础数据集的小规模代理被处理
窗口技术是数据流研究中另一种常用的技术。由于数据流存在实时性的需求,流中最近到达的数据比很久之前到达的数据对计算来说更有意义。如何描述流中数据的“最近”,是窗口模型的意义所在。
数据流的窗口是描述数据流的最近子集组合的方法。通过设置的窗口边界,使得流中部分数据项位于窗口内,而在窗口之外数据则不被处理计算考虑。窗口长度指窗口的时间跨度,窗口大小指窗口中数据项的数量。
窗口的分类这里不进行详细介绍
数据流处理技术可以为实时性要求高的应用提供支撑,实现业务上的例行数据分析和异常监控预警等。与传统的数据处理技术相比,流式数据的实时计算存在以下几个方面的特点
在大数据环境下,当数据库技术不能满足数据处理的实时性需求时,流式计算技术发展起来了。流式计算技术虽然源于数据库技术,但两者面向的问题和基本理念完全不同。数据库管理系统(Database Management System,DBMS)依托关系代数和相关技术,为各种商业应用的数据查询与管理发挥了重要的作用;与之类似,数据流处理系统(Data Stream Processing System,DSPS)依托实时数据处理相关技术,逐步成为企业界和研究界重要的在线分析和处理工具。正是由于数据形态和特征,流式数据处理系统存在如下特点。
集中式数据处理系统
分布式数据处理系统
3.低延迟和高吞吐量是数据流处理系统最基本的需求,是由流式计算的实时性需求决定的。
数据流处理系统面临的挑战与当前研究热点主要在以下三个方面
1. 处理性能与结果精确性的折中
2. 容错与可用性
3. 分布式编程模型
Twitter是将微博的潮流引入这个时代的公司,成为当今互联网界的标杆之一。随着微博的流行和IT服务的全球化,惊人的数据量不断增长,应对如此规模庞大和高速到达的数据,Twitter公司在检索、处理和存储技术上面临极大的挑战。
Hadoop MapReduce是当前离线大数据分析事实上的标准,对许多海量数据处理应用发挥了至关重要的作用,如惊醒互联网全网内容索引等。但是,它的架构模型决定了其批处理的计算模型,对Twitter这样高度动态的实时数据,存在响应时间和及时性方面的诸多限制。2011年7月,Twitter收购了一家专注于社交媒体数据分析的公司BackType,仅仅两个月,2011年9月17日,Storm的第一个发布版作为开源软件面世了。
Storm是分布式数据处理系统,其强大的分布式集群管理、便捷的针对流式数据编程模型、高容错非功能保障,是它成为业界明星的首要原因。
适用领域:实时分析
在线机器学习
持续计算
分布式远程调用
ETL
数据发现
实时分析
个性化搜索
收益优化
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。