现有CEP产品介绍

(转载自http://blog.csdn.net/mdj67887500/article/details/7059634,感谢原作者的工作) 

CEP(Complex Event Processing,复杂事件处理)是近年来在互联网中不断升温一个词汇。在CEP的领域,国外已经有了很多研究成果和相当成熟的产品,而中国的这个市场才刚刚打开。流式数据处理是CEP的一个核心技术,流计算来自于一个信念:数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理,最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存成一批再处理。

  本文旨在对目前市场上已有的CEP产品和开源项目进行简单介绍,普及前沿科技。

  首先是几个商业化产品。



  StreamBase      所属公司:StreamBase Systems


  StreamBase使用Java开发,IDE是基于Eclipse进行二次开发,功能非常强大。目前此产品在业界处于领先地位,其前身是Borealis。


网站首页:http://www.streambase.com/








  StreamInsight     所属公司:Microsoft


  StreamInsight是SQL Server 2008 R2的新模块。它是一个基于.NET的平台,用于复杂事件处理(CEP,Complex Event Processing),即对于来自多数据源的无限事件序列提供近乎零延时的连续处理。StreamInsight是一个临时查询处理引擎,它可以支持应用程序对时间窗口内的事件进行查询处理。它对流数据的处理范围包括简单聚合、多数据源事件相关性、事件模式检测、甚至建立复杂事件序列和分析模型。StreamInsight的程序模型可以让用户通过LINQ定义这些查询,同时支持将查询结果无缝整合到C#的代码中。

微软的MSDN文档:

http://msdn.microsoft.com/en-us/library/ee229547(v=SQL.10).aspx

相关文章:

http://www.cnblogs.com/stbchina/archive/2011/04/18/StreamInsight-on-SQL-Server-2008-R2.html


http://tech.ddvip.com/2010-09/1285567813160528.html




  Aleri         所属公司:Sybase


  Aleri原本是由Aleri公司开发的一款CEP产品。2009年,Aleri被列为CEP领域杰出的领军企业,同时,Aleri还是首家获准作为安全技术评估中心基准的CEP厂商。后来Sybase收购了Aleri,成功跻身成为CEP领头羊并强化其实时分析平台。

产品主页:

http://www.sybase.com/products/financialservicessolutions/complex-event-processing





  Apama      所属公司:Progress


  这个产品名气不大。几乎没有资料。

产品主页:http://www.progress.com/en/apama/



  以下是开源项目。



  Borealis          开源项目




Borealis是Brandeis University、Brown University和MIT合作开发的一个分布式流式系统,由之前的流式系统Aurora、Medusa演化而来。目前Borealis系统已经停止维护,最新的Release版本停止在2008年。

Borealis具有丰富的论文、完整的用户/开发者文档,系统是C++实现的,运行于x86-based Linux平台。系统是开源的,同时使用了较多的第三方开源组件,包括用于查询语言翻译的ANTLR、C++的网络编程框架库NMSTL等。

项目首页:http://www.cs.brown.edu/research/borealis/public/






  S4  (Simple Scalable Streaming System)     所属公司:Yahoo!




  目前最流行的大规模数据处理是MapReduce,不过MapReduce只是一个面向批处理的框架。其它情况则是流处理系统或针对特定问题的特殊解决方案(比如Pregel、GraphLab等等),当然还有“应用最广”的并行数据库。S4是Yahoo!发布的一个开源通用、分布式、可扩展、部分容错、具备可插拔功能的平台。这套平台主要是为了方便开发者开发处理流式数据(continuous unbounded streams of data)的应用。Yahoo!之所以开发S4系统,主要是为了解决它现实的问题:搜索广告的展现。搜索广告是当前各大搜索引擎的主要收入来源,用户发出查询请求,搜索引擎在返回正常结果的同时也会返回相关广告,而广告是按照点击付费。为了在最好的位置,放置最相关(也就是用户最有可能点击)的广告,各大搜索引擎使用了大量的数据挖掘和机器学习算法来进行相关性计算,以便提高收入,满足用户需求。其中很重要的一点就是要不断分析用户的点击反馈,以便捕获用户的行为。S4最初主要还只是用来处理用户的点击反馈。


项目主页:http://s4.io/

相关文章:

http://ld-hust.iteye.com/blog/988377

http://database.51cto.com/art/201110/297784.htm


http://blog.hesey.net/2011/04/yahoo-s4-distributed-stream-computing-platform.html





  Esper           开源项目


  采用Java开发,支持复杂的EPL(Event Processiong Language),尤其是模式匹配(Pattern Match)。想深入研究模式匹配,可以从这个项目入手。

项目主页:http://esper.codehaus.org/




  Drools          开源项目


  Drools具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。业务分析师或审核人员可以利用它轻松查看业务规则,从而检验是否已编码的规则执行了所需的业务规则。采用Java开发。

项目主页:http://www.jboss.org/drools/drools-fusion.html





  Storm        开源项目


  Twitter在9月19日的Strange Loop大会上公布Storm的代码,是一个类似于Hadoop的即时数据处理工具,由BackType开发的,后来被Twitter收购用于Twitter进行实时数据处理分析。storm是一个分布式的、容错的实时计算系统,遵循Eclipse Public License 1.0,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比Hadoop之于批处理。Storm保证每个消息都会得到处理,而且它很快——在一个小集群中,每秒可以处理数以百万计的消息。可以使用任意编程语言来做开发。







相关文章:http://www.oschina.net/question/12_28017




  以下两个是国内项目。
  银河流数据处理平台     所属公司:淘宝
  通用的流数据实时计算系统,以实时数据产出的低延迟、高吞吐和复用性为初衷和目标,采用actor模型构建分布式流数据计算框架(底层基于akka),功能易扩展、部分容错、数据和状态可监控。银河具有处理实时流数据(如TimeTunnel收集的实时数据)和静态数据(如本地文件、HDFS文件)的能力,能够提供灵活的实时数据输出,并提供自定义的数据输出接口以便扩展实时计算能力。银河目前主要是为魔方提供实时的交易、浏览和搜索日志等数据的实时计算和分析。
  SuperMario      所属公司:淘宝
  SuperMario,基于erlang语言和zookeeper模块开发的高性能数据流处理框架,使用订阅者模式构建流节点间的流关系,支持高性能的数据流式实时处理。

猜你喜欢

转载自sparkal.iteye.com/blog/1568647
今日推荐