大数据流式计算存在的挑战

大数据流式计算系统存在诸多挑战,如资源调度、系统容错、动态时间窗口、高效索引策略等诸多方面。本文将从大数据流式计算系统架构的角度,针对当前大数据流式计算环境中存在的两个方面的典型问题进行系统化的分析,即在线环境下的资源调度问题节点依赖环境下的容错策略问题,并原则性地分别给出了两类问题的解决策略。微信

1. 在线环境下的资源调度网络

资源调度是分布式系统中资源管理的关键与核心,也是NP难问题,制约着整个系统的高效运行。在大数据流式计算环境中,在线环境中的资源调度又更加困难,任何一个资源或要素的调整,都会对运行着的系统产生实时影响,也会对整个系统的稳定性带来必定程度上的波动。架构

Storm系统做为业界最具影响力的大数据流式计算系统,目前其所选用的资源调度策略为轮询方式,只是简单地将有向任务图中各个节点按照必定的拓扑序列放置到各个物理机器上去,这个调度策略没有考虑物理机器的性能以及物理机器间的拓扑结构,没有考虑有向任务图中各个节点的计算压力和节点间的通讯压力。app

在在线调整过程当中,这个调度策略没有考虑当前各个节点的资源分配状况,也就是说在实现对新的环境优化和适应的过程当中,没有考虑尽量地减小系统中节点的变更,提高系统的稳定性。这些因素的缺失,对于Storm系统的性能必然带来必定程度上的损伤。运维

在资源调度方面,针对大数据流式计算环境中,应用均是经过有向任务图进行描述的客观事实,须要构建一个弹性、自适应的在线调度策略,知足大数据流式应用一旦开启将永远运行下去的在线场景下的资源调度须要,即一方面要有效地适应数据流、资源等各方面的动态变化,另外一方面也要保持系统的稳定性,避免因调整致使的系统大幅度波动,影响系统的稳定性。分布式

具体包括如下内容:在有向任务图节点计算量和节点通讯量的量化方面,节点处理时延影响因素有逻辑节点的功能、数据处理功能、数据流流速大小等;节点间传输时延影响因素有节点间传输数据流大小、网络带宽,物理距离等。整个有向任务图在任何一个时刻都会存在一条关键路径,其时延也是由该图的当前关键路径决定的,关键路径将是整个有向任务图的核心和瓶颈,明确了当前的关键路径,就能够找到改善系统性能的要害。同时随着不一样数据流压力的变化,各个节点的计算时延和传输时延也会发生变化,这样不一样数据流压力状况下的有向任务图的关键路径也会动态变化。post

在有向任务图到系统资源的放置策略以及在线调整方面,对于一个通过优化和调整后的任务拓扑结构的实例图,随着数据流和系统环境的在线和实时变化,以关键路径为核心,动态地调整任务拓扑图中各节点实例在各台物理机器间的分配策略(如图1所示),能够实现对系统响应时间的显著改善。同时,当数据流压力发生变化后,只须要调整关键路径上的部分节点,就能够实现对系统性能的改善,这样就能够在尽量地保持系统稳定性的前提下,最大程度地改善系统性能,在动态调整和优化过程当中,实现对历史成量信息的最大利用。性能

在多个有向任务图分别被提交到系统中后,须要保证在不一样时间点提交的各个有向任务图能够公平地使用系统资源,这就须要明确各物理机器的计算压力和拓扑结构、各个有向任务图中节点的计算压力和传输压力,并经过必定的分配策略,实现资源的合理利用以及各有向任务图间的资源公平占有和动态调整。学习

图 1 资源分配和动态调整

2. 节点依赖环境下的容错策略大数据

系统容错是分布式系统必不可少的一部分,特别是对于大数据流式计算系统而言,容错的价值显得尤其突出。在大数据流式计算环境中,数据流到来后每每只有一次处理的机会,重放数据流是很困难的,甚至是不可能的。这仅有的一次机会给容错带来了更高的挑战。另外,系统的实时性是大数据流式计算系统的首要目标,这也为容错策略提出了更高的要求,当高效的容错策略须要过长的时延时,会致使容错变得没有意义。

Storm系统经过系统级组件Acker实现对数据流的全局计算路径的跟踪,并保证该数据流被彻底执行。错误的检查是经过超时机制实现的,默认的超时时间为30 s。很显然,这么长的时延在流式应用中显得毫无心义了。

在系统容错方面,针对大数据流式计算环境中数据到来后当即进行处理,重现数据每每很困难的客观事实,须要构建一个轻量级、快速的系统容错策略,知足大数据流式计算环境中对系统容错的要求。具体研究内容包括:研究在不一样应用场景下的系统容错精度方案,并对具体案例进行分析方面,主要是考虑用户的具体应用场景对容错精度的需求,进行相应容错精度方案的设计;在创建有向任务图故障节点最小依赖集合的容错策略方面,当各个节点都进行了中间状态存储、检查点等信息的存储后,在具体的故障恢复过程当中,能够选用更加高效的故障节点、最小依赖集合的容错策略,将容错的范围缩小到最小的节点集合中,如图2所示。

根据有向任务图中各个节点及节点间上下游的关系以及每一个节点所在的物理机器性能特征等多方面因素,为不一样的节点设置有区分的、有差别的检查点频率以及不一样的全量和增量式容错策略。

图 2 故障节点最小依赖集合的容错策略

在大数据时代,随着愈来愈多的应用场景对时效性的要求不断加强,大数据流式计算做为大数据计算的一种形态,其重要性也在不断加强。

在以上三篇文章中,针对大数据环境中流式计算应用所呈现出的诸多鲜明特征进行了系统化的分析,并从系统架构的角度,给出了大数据流式计算系统构建的原则性策略。结合当前比较典型的流式计算平台,重点研究了当前大数据流式计算在在线环境下的资源调度和节点依赖环境下的容错策略等方面的技术挑战。在将来的工做中,将结合应用场景的需求,开展系统架构的优化,改善整个系统的可扩展性、稳定性等多方面的特征。同时,针对应用的要求,开展上层应用同系统架构、数据流之间的动态、弹性自适应性的优化。

参考文献:

孙大为. 大数据流式计算:应用特征和技术挑战[J]. 大数据. 2015年03期.

相关阅读:


用于推荐系统评估的概念与指标

推荐系统的工做流程

白话推荐系统

想要了解推荐系统?看这里!(2)——神经网络方法

想要了解推荐系统?看这里!(1)——协同过滤与奇异值分解

AutoML如何实现智能推荐系统的自动上线和运维?

入门推荐系统,你不该该错过的知识清单

如欲申请产品试用,欢迎添加先荐小助手微信号(ID:recsysfc)

本帐号为第四范式智能推荐产品先荐的官方帐号。帐号立足于计算机领域,特别是人工智能相关的前沿研究,旨在把更多与人工智能相关的知识分享给公众,从专业的角度促进公众对人工智能的理解;同时也但愿为人工智能相关人员提供一个讨论、交流、学习的开放平台,从而早日让每一个人都享受到人工智能创造的价值。

相关文章
相关标签/搜索