SQL Server 2008 R2的十大变化(上),SQL Server 2008 R2的十大变化(下) 这十大特性中我比较感兴趣的是StreamInsight:通过SQL Server 2008 R2新的StreamInsight组件,Microsoft进入了复杂事件处理(Complex Event Processing,CEP)竞争,其中相关的供应商还有Oracle、IBM和StreamBase。
SQL Server 2008 R2引入StreamInsight功能,可以为开发人员提供一套全方位的平台来开发基于事件的应用程序。与传统的基于查询的应用程序有所不同,基于事件的应用程序需要在低延迟的前提下迅速处理海量数据。
CEP 是新出现的规程,它处理多个通常具有不同类型并来自不同事件源的事件。单独的事件通常没有提供内在的业务价值,但是在与特定上下文相关的情况下进行检测并与其他事件聚合在一起的时候,则可能会检测出复杂的事件模式。然后您可以使用这些模式实现自动化的解决方案和警报机制。CEP 采用了诸如跨许多事件的复杂模式检测等技术,并通过事件层次结构和事件之间的关系使用规则处理算法进行事件关联和抽象。因果关系、成员关系、计时和事件驱动的流程分析用于确定哪些事件有意义。CEP 系统查找业务事件数据中的模式,并帮助在企业中实现操作业务智能。通过考虑事件之间的关系,CEP 系统能够“融会贯通”并得出先前无法获得的见识,以支持更快速和更好的操作决策。
一般来讲,事件处理通过在有关企业中发生的事情的观察结果基础上获得有助于决策制定的见识,从而向应用程序添加了一个动态维度。它可以帮助确定趋势、威胁、机会和需要采取行动的业务情况。使用 CEP,您可以“分析、关联低级事件并将其总结为适合于以人类的术语通知人们或触发自动化流程的高级事件”。 [3]
那么,CEP 系统的特征是什么呢,或者换句话说,最适合于 CEP 的应用程序特征是什么呢?当机会和威胁在不可预测的时间出现时,事件驱动的系统必须在外部确定的时间响应事件。这些系统在环境更改时采取行动,而不只是按照预先计划的时间表采取行动。通常,CEP 适用于需要将许多组件实时聚集在一起以便完成任务的业务场景。如果您在处理动态流程(其特征更改得相当频繁)、非线性流程(其计时和顺序不可预测,因而无法预先定义)和需要实时响应外部事件的流程(连续地受到系统必须适应的外部事件的影响),则 CEP 是最适合的。
StreamInsight系列-QueryTemplate\QueryBinder\Query
Hosting StreamInsight applications using WCF
MSDN站点:http://msdn.microsoft.com/zh-cn/sqlserver/ee476990(en-us).aspx
MSDN文档:http://msdn.microsoft.com/en-us/library/ee362541(SQL.105).aspx