Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
StreamInsight是SQL Server 2008 R2的新模块。它是一个基于.NET的平台,用于复杂事件处理(CEP,Complex Event Processing),即对于来自多数据源的无限事件序列提供近乎零延时的连续处理。StreamInsight是一个临时查询处理引擎,它可以支持应用程序对时间窗口内的事件进行查询处理。它对流数据的处理范围包括简单聚合、多数据源事件相关性、事件模式检测、甚至建立复杂事件序列和分析模型。StreamInsight的程序模型可以让用户通过LINQ定义这些查询,同时支持将查询结果无缝整合到C#的代码中。
传统的数据库针对静态数据操作,所有信息先被实体化存储在数据库中,然后被取出,再进行一系列的计算。而StreamInsight则针对的是事件流的操作,事件流从入口通过适配器进入,经过一系列查询逻辑的处理,最终通过输出适配器分发到各个目标上。事件流数据暂时保存于内存中,减少了数据存储与读取的时间。同时,StreamInsight了引入了一种时间窗口机制,即对事件流按照时间窗口切片统计,随着事件流入不断推移时间窗口,保持窗口中统计最新的数据。
因此,StreamInsight适用场景有如下特点:
- 输入为数据流尤其是多源无限长数据流
- 数据处理实时性要求高
- 高吞吐量
- 不关心中间结果
- 数据不需要永久保留
比如,多个收费站车辆通过信息作为数据流输入,统计一段时间内车辆的平均数。
下图是StreamInsight的架构:
由上图可以看出,StreamInsight主要包括三个部分:输入适配器(Input Adapter)、输出适配器(Output Adapter)以及CEP服务器。由于输入输出和CEP服务器都是异步运行的,所以StreamInsight提供了事件流调试器(Event Flow Debugger)方便用户调试事件的处理过程。
参考资料:
- 下载CU2
https://blogs.msdn.com/b/streaminsight/archive/2010/06/28/update-on-the-update.aspx - StreamInsight MSDN文档
https://msdn.microsoft.com/en-us/library/ee362541(SQL.105).aspx - 博客
https://blogs.msdn.com/streaminsight/ - 论坛
https://social.msdn.microsoft.com/Forums/en-US/streaminsight - StreamInsight MSDN
https://msdn.microsoft.com/en-us/ee476990.aspx - 样例
https://streaminsight.codeplex.com - Twitter
https://twitter.com/streaminsight
软件测试工程师 金晶
Comments
- Anonymous
February 26, 2013
StreamInsight是作为一个组件提供给开发人员使用的吗?是COM组件还是什么? 第二,它是收费的吗?