希腊哲学家赫拉克利特说,“人不可能两次踏入同一条河流。” 当然,他指的不是高速流动的数据流。
当今的数据传输速度快、流量大,从数据流中提取数据并了解它们的含义是很困难的。但是,这正是 IBM 新的 InfoSphere Streams 技术的目标 —— 在以传统的方式存储数据流之前,实时探查它并分析其内容。
InfoSphere Streams 可以在数据 “运动” 过程中捕捉并分析关键信息,并把结果立即发送给某人或另一台计算机。这种技术背后的核心业务思想是:及时的信息有巨大的价值。例如,“沙特阿拉伯的输油管道遭到袭击” 这样的消息会对石油贸易造成重大影响。但是,流计算的作用不仅仅是提取各种新闻:它可以把来自多个数据流的信息组合起来,执行复杂的预测性分析。
IBM 把这些功能称为流计算,流计算功能是业务事件处理 (BEP) 功能的一个具有预测性质的特殊子集。不管如何称呼它,一些行业观察家认为这种技术意义重大。
机会和需求
自从数据流一出现,就有分析数据流并从中获取有用信息的需求;但是,直到几年前,仍然只有那些非常大的银行和政府机构能够通过昂贵的定制系统满足这种计算需求。 IBM 正在致力于为广泛的业务应用程序提供通用的事件处理功能 —— InfoSphere Streams 是重要的一步。
流计算的研究尚处在起步阶段,这是一个新兴的产品开发领域。这个技术领域的出现是因为客户面对的信息量急剧增加,而且他们需要更快地解释信息并根据信息采取措施。 IBM 多年的一个研究项目(当前称为 “ System S ”)致力于开发一种难度较大的硬件和软件组合,以满足业务事件处理的速度和分析需求。 InfoSphere Streams 当前属于 IBM 的 BEP 技术和产品组合,其中包含 InfoDyne(用于低延迟信息分析)、AptSoft(用于复杂事件处理的软件)、Solid Information Technology(高速内存数据缓存和分析)和 Cognos Now!(事件驱动的 BI 技术)。
InfoSphere Streams 的目标是提供一个完整的独特的产品系列,让金融服务、公共卫生、安全、制造、科学研究等领域的许多不同客户都能够使用它。
包含许多部分的平台
IBM 把实时事件处理分解为六种操作 —— 筛选、关联、分类、转换、注解和决策,这些操作可以组合成一个连续的处理流。通过使用适当的硬件和软件,InfoSphere Streams 可以捕捉数据流、筛选内容并调用复杂的分布式事件计算,从而在几毫秒内把数据关联、分类和转换为有价值的信息。
数据流本身可以来自几乎任何数据源,包括 RSS feed、Internet 新闻和公司内 / 公司间数据。这种数据的性质各异 —— 尽管还不算是 “非结构化数据”。 WebSphere Business Monitor、IBM InfoDyne、WebSphere Message Broker、Tivoli Netcool/Impact、IBM Mashup Center、WebSphere MQ Low Latency Messaging 和特殊用途的适配器都可以与 InfoSphere Streams 结合使用,从而帮助收集和排序流数据。然后,把数据交给各种事件处理操作器。
InfoSphere Streams 的特色之一是可以以多种方式扩展:从处理简单的业务规则和单一信息项扩展为处理复杂的任意的连续信息;从每秒处理 10,000 条消息扩展为在几毫秒内处理数百万条消息;从使用单一处理器扩展为使用数百(或数千)个节点。很自然,这种系统的硬件最好是刀片服务器组,或者 IBM System p 等其他并行处理系统,或者大规模并行的 IBM Blue Gene/P 。但是,InfoSphere Streams 并没有限制使用的硬件;因此,它也可以在并行度比较低的系统上运行。
通过由 WebSphere Business Events、IBM Data Studio、IBM solidDB 和 InfoSphere Warehouse 提供的软件系统组织巨大的计算。
把信息发送到哪里?
流计算的价值就在于它能够产生预测性信息。一场飓风会对石油贸易造成什么影响?将正确的信息及时地交付给适当的人(或者系统)帮助其做出决策,这个过程的价值是不可估量的。
InfoSphere Streams 为人和计算机提供了各种工具。例如,商人要应对各种困难的局面,这需要经验和人工评估。 IBM Cognos Now!、IBM Mashup Center 和 IBM WebSphere MQ 等产品要以适当的形式(比如 dashboard)向用户显示信息。有时候,需要把信息交付给自动交易系统。
如果您注意到上面这些场景都涉及许多不同的产品,就会明白流计算的困难之处 —— 必须仔细地完成许多集成任务。
InfoSphere Streams 分析通常是在传统的数据管理系统之外执行的。 IBM 把这称为 “运动过程中的” 数据分析,它与事后对存储数据库中数据进行分析相对。但是,这种分析的结果也可以保存在传统数据库中,比如 DB2 。因为处理的毕竟是数据,在一般情况下 DBA 最终可能会负责管理事件处理。
流计算的影响
IBM 用 “超级计算” 来描述实时事件处理。在某些情况下,确实如此。
先不说体育比赛直播回放,当前的趋势表明事件处理将成为常见甚至主流的计算形式。借用 IBM 的另一个说法:“能够感知真实世界” 的计算。系统能够感知来自各种传感器的信息(视频、热量、音频等等),并把大量实时数据发送给各种系统(医疗、制造、科学研究、司法等等)。在不远的将来,廉价的传感器将无处不在;流计算对于发挥这些设备的作用是必不可少的。这将开启一个全新的计算时代。
IBM 的许多业务事件处理形式(包括 InfoSphere Streams)正在逐渐成熟起来。目前,让每个企业都实现流计算还不容易或不适合,但是这种情况很快就会改变了。在不远的将来,我们将以赫拉克利特不曾想像的速度处理信息流。