首页 > 代码库 > 实时数据流式分析改变商业游戏规则

实时数据流式分析改变商业游戏规则

近些年,大数据流式处理的讨论热了起来,就在去年,阿里巴巴向apache基金会贡献了java语言版的Jstorm,国内的厂商或个人,随着技术的积累,正在逐步的加入这场世界变革当中。那么,为什么现在企业会越来越关注大数据的流式处理呢?仅仅对大容量的离线数据分析挖掘,已经逐渐满足不了企业不断增长的需求,新的技术和理论必将应运而生。
大容量的数据必须能够被极快速的处理,从而让企业的决策者能够迅速的根据市场变化而改变战略,这将成为未来商业,在满足客户不断延伸的需求,提供差异化服务的阿喀琉斯之踵。类似的需求如:大健康, 投资交易,诈骗检测,信用分析,多维度实时监控 等等。

Author:Mark

Big Data vs Fast Data

Bigdata 是当前最流行的术语,通常用三个特性来描述大数据,Volume[海量] - 数据容量,Velocity[实时] - 快速处理 , Variety[多样] - 多种数据来源及格式

技术分享

大数据的架构包含很多部分,通常把结构化和半结构化的历史数据保存在Hadoop里,然后用流式处理来处理有实时要求的数据,这两部分相辅相成,缺一不可。
“流式处理”是处理流式数据或传感器数据的理想平台, 而“复杂的事件处理”(CEP) ,则使用事件到事件的方法处理聚合数据。CEP 引擎是被优化的程序来处理严谨的“业务事件”,例如 使用决策和事件响应式的处理模式来比较无序和非流式的事件。因此而演化出面向查询,规则和程序化的多种事件处理形式。

流处理被设计出来使用 “持续查询”来实时的分析处理流式数据。流处理的关键是可以对不断变化数据进行实时处理,能够持续的数学计算,或统计分析。流处理的解决方案通常被用来实时的处理海量数据,并拥有高可用和高容错的架构。

相对而言,传统数据库,首先存储数据,然后对数据进行索引,最后通过查询分析器操作树形存储结构的数据。而流处理能够处理活的数据,在数据不断流入服务器的同时,对数据进行实时在线分析处理。流处理可以连接外部数据源,从而能够将所选的数据合并到程序处理流中,或者根据处理进程的需要更新外部数据。

流处理行业最近的发展是“活体数据集”的发明,向终端用户提供了在内存里聚合的随机查询方式,面向业务人员提供了流式数据实时动态视图的分析工具。对动态数据进行实时的切片,切块和聚合,为业务人员提供了一种响应式的处理能力。

技术分享

流数据处理面对的挑战:

  • 处理海量的事件流
  • 实时响应市场因素的变化
  • 在海量数据的容量和复杂度持续增加的情况下,仍然保持良好的性能和伸缩性
  • 能够在现有的架构和数据源上快速集成
  • 需求改变和业务扩展时,可以方便的开发和部署
  • 在程序开发的整个生命周期中,为开发人员在各个环节上提供工具支持和帮助
  • 分析 : 实时数据收集和监控,连续查询事物处理、 自动警报和响应
  • 交流 (component / connector exchange, education / discussion, training / certification)
  • 用户随机性访问
  • 报警
  • 基于数据流推送的可视化

实际中的流式处理的用例

流式处理率先使用在金融业,用在股票交易的电子化交易中。而今天,几乎所有的行业都适用流式处理,只要你是通过人类活动,机器或者传感器生成数据。随着物联网技术的腾飞,将增加数据的容量,多样化及速度的需求,导致流式分析技术应用的剧增。流处理技术可以解决的问题如下:

  • 网络监控
  • 情报和监控
  • 风险管理
  • 电子商务
  • 错误检测
  • 智能指令路由
  • 事务开销缝隙
  • 定价分析
  • 市场数据管理
  • 算法交易
  • 数据仓库扩容

流处理技术的选择

流式数据处理有很多开箱即用的产品做一些标准化的分析事物,但基于免费开源框架自己动手实现的需求,也占有很大的比例;企业在选择适合自己业务场景的技术时,面临多种选择,这也是对非IT企业的一种挑战。

从纯技术层面来说,下面列举的是一些数据流式处理面对各种使用场景所必须面对的,或者说未来还存在进一步发展的空间:

服务器: 应用服务器必须能够应对高吞吐量和低延迟的实时事件流数据的处理,这种处理往往需要达到内存级别的速度,基于磁盘存储的技术往往造成大量的io交换,导致达不到速度的高要求。

IDE:集成开发环境,要能够提供开发,调试,和测试的流式数据分析的虚拟环境,并且能对数据集进行过滤,聚合,关联,时间滑动窗口,转换等的操作

连接器:在大数据领域,数据集的来源是多方面的,有传统的数据库(如Mysql,Oracle,DB2),交易市场信息(如 Bloomberg,Fix,Reuters),统计分析工具(如R,Matlab,terr) , 或者技术框架(如JMS,Hadoop,Java), 连接器作为一个标准接口,和其他平台及语言的联通,是大数据分析必不可少的环节。

分析系统:友好的用户界面,可以帮助用户更好的使用数据分析结果,直观的展示数据变化,并能自动的预警,响应用户的操作.

商业智能: 流式数据的可视化,图表化,分片,切块等技术

在过去的几年里,大数据技术取得了长足的发展,接连涌现出一些新的技术和产品来应对不断深化的需求,但是未知空间任然宽广,这个领域的进化将永不停歇。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    实时数据流式分析改变商业游戏规则