软件名称InfoSphere Streams
从数据流中获取业务价值
概述InfoSphere Streams 旨在从一个几分钟到几小时的窗口中的移动信息(数据流)中揭示有意义的模式。该平台能够获取低延迟洞察,并为注重时效的应用程序(比如欺诈检测或网络管理)获取更好的成果,从而提供业务价值。InfoSphere Streams 还可合并多个流,使您能够从多个流中获取新洞察
设计目的· 快速响应事件和不断变化的业务条件与需求。

· 支持以比现有系统快几个数量级的速度对数据执行持续分析。

· 快速适应不断变化的数据形式和类型。

· 管理新的流模式的高可用性、异构性和分布。

· 为共享的信息提供安全性和信息机密性。

InfoSphere Streams 提供了一种编程模型和 IDE 来定义数据来源,还提供了已融合到处理执行单元中的称为运算符的软件分析模块。它还提供了基础架构来支持从这些组件合成可扩展的流处理应用程序。
平台组件· 运行时环境:这包括平台服务,以及一个用于在单个主机或一组集成的主机上部署和监视 Streams 应用程序的调度程序。

· 编程模型:您可使用 SPL(Streams Processing Language,流处理语言,一种声明性语言)来编写 Streams 应用程序。可使用该语言陈述您的需求,运行时环境会承担确定如何最佳地服务该请求的责任。在此模型中,一个 Streams 应用程序表示为一个由运算符和连接它们的流组成的图表。

· 监视工具和管理接口:Streams 应用程序处理数据的速度比普通的操作系统监视实用程序快得多。InfoSphere Streams 提供了可处理此环境的工具。
流处理语言SPL,InfoSphere Streams 的编程语言,是一种分布式数据流合成语言。它是一种类似 C++ 或 Java™ 的可扩展且全功能的语言,支持用户定义的数据类型。您可以使用 SPL 或原生语言(C++ 或 Java)编写自定义函数。也可以使用 C++ 或 Java 编写用户定义的运算符。

InfoSphere Streams 持续应用程序会描述一个导向图,该图由各个互联且处理多个数据流的运算符组成。数据流可来自系统外部,或者在应用程序内部生成。SPL 程序的基本构建块包括:

· 流:一个无限的结构化元组序列。它可逐个元组地由运算符使用或通过一个窗口的定义来使用。

· 元组:属性及其类型的一个结构化列表。流上的每个元组拥有由其流类型指定的形式。

· 流类型:指定元组中每个属性的名称和数据类型。

· 窗口:一个有限、有序的元组分组。它可以基于计数、时间、属性值或标点符号。

· 运算符:SPL 的基础构建块,它的运算符会处理来自流的数据并可生成新流。

· 处理元素 (PE):基础执行单元。一个 PE 可封装单个运算符或多个合并的运算符。

· 作业:一个已部署好的用来执行的 Streams 应用程序。它由一个或多个 PE 组成。除了一组 PE 之外,SPL 编译器还会生成一个 ADL(Application Description Language,应用程序描述语言)文件来描述应用程序的结构。该 ADL 文件包含每个 PE 的详细信息,比如要加载和执行哪个二进制文件,调度限制、流格式和一个内部运算符数据流图。
开发环境InfoSphere Streams 提供了一个敏捷开发环境,该环境由 Eclipse IDE、Streams Live Graph 视图和一个流调试器组成。该平台还包含用于加速和简化特定功能或行业的解决方案开发的工具包:

· 标准工具包:包含随产品发布的默认运算符:

o 关系运算符,比如 Filter、Sort、Functor、Join、Punctor 和 Aggregate

o 适配器 运算符,比如 FileSource、FileSink、DirectoryScan 和 Export

o 实用程序运算符,比如 Custom Split、DeDuplicate、Throttle、Union、Delay、ThreadedSplit、Barrier 和 DynamicFilter

· 互联网工具包:包括 HTTP、FTP、HTTPS、FTPS 和 RSS 等运算符。

· 数据库工具包:支持 DBMS,包括 DB2®、Netezza、Oracle Database、SQL Server 和 MySQL。

· 其他内置工具包:金融、数据挖掘、大数据和文本工具包。