在现实世界里,大数据的来源多种多样,比如科学实验、传感器系统、社交网络活动、电信数据、摄像与监控系统、日常交易与货物流通等。这些数据的数量十分巨大,随着时间不断积累,而且其产生方式都是实时的,往往都具有时效性,从这些数据中分析出有价值的信息变得越来越迫切,这也为大数据实时分析提供了现实需求。大数据实时分析的应用前景也十分广阔,比如智能交通管理,未来的城市可以通过车载传感器和道路实时摄像等设备对交通情况进行实时分析,类似的需求还可以有金融市场的实时交易和监管、人群秩序实时监管、军事决策支持、大规模应急反应、智能电网等。
大数据实时分析是指对大规模的数据进行分析,利用大数据分析技术高效快速地完成分析任务以达到近似的实时效果,以便更及时地反映数据的价值和意义。数据分析的基础操作就是数据的读写,实时分析就要求实时存取,而大数据的实时存取需要在分布式网络中的不同节点上完成,因此需要动态索引框架(如图5-16所示)来为之服务,以提高存取效率。同时,大数据实时分析为了提高分析效率,在传统技术基础上进一步提高数据分析的速度与处理能力,采用了基本计算架构模式——一般可以分为三种:①利用传统的关系数据库并行处理簇;②基于内存数据库的计算平台;③基于数据流的处理框架。比如较早出现的:EMC公司的GREENPLUM就属于第一种,它本质上是一个关系型数据库集群,是由多个独立的数据库组合而成的逻辑数据库,采用了大规模并行处理架构(Massively Parallel Processing,MPP)来组织集群,从而通过并行处理方式来提高多个数据库间的实时处理能力。近年来,内存计算技术发展迅速,它将交易型数据库和分析型数据库合并为一个内存数据库,实质上就是CPU直接从内存而非硬盘中读取数据,这无疑起到了一个十分明显的计算加速效果,比如Redis就是一个典型的内存数据库系统,它采用键值对来存储数据,可以支持多种数据类型,不但使读写在内存中完成,而且其数据管理部分也是全部基于内存来重新设计的,包括数据缓存、快速算法、并行操作等都是在内存中完成。随着大数据时代的到来,实时分析中的数据往往是以数据流的形式出现的,因此基于数据流的处理框架不断涌现,比如LinkedIn公司的Samza就是一个分布式流数据处理系统,它将数据流切分开来,以消息为单位来进行处理,这些消息组成不同的消息队列后进入相应的分布式计算机来完成后续处理和计算。
(www.daowen.com)
图5-16 大数据实时读写流程
大数据实时分析应用在设计、实现与操作中得到了长足发展,但依然面临很多挑战,我们主要从五个方面进行简要的分析和描述。①实时事件传输:大多数的实时应用事件产生后需要及时传输到相关处理节点(主要分为中心处理节点和分布式中间处理节点)以完成处理过程,处理过程也分别对应为预定义处理(闭环操作)和交互式处理(开环操作);②实时情境发现:其主要设计用来检测实时交易、实时操作、异常事件等情境,比如交易市场中的股票价格波动,或者是城市某区域交通发生拥堵等,这需要对相关领域预先设置一些规则来帮助检测,进一步可能还需要设计能够更改或调整这些规则的实时分析模型;③实时分析:它可以涉及单个或多个综合分析服务,这些服务应该能够对规则和业务情境的改变做出性能预测和评估,同时它也需要部署快速的算法,使其能够在有限的资源和时间内提供最佳或次最佳的服务;④实时决策:基于实时分析的结果,它可以选择改进当前操作规则或盈利能力的最佳方案,并对其响应做出最适合的应对,其中最重要的就是如何定义业务或操作规则来实现正确及时的决策;⑤实时响应:这涉及对实时决策定义的行为的启动、执行和监管,其过程通常需要可靠和及时的与其他分布式系统交互的执行任务。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。