|
随着信息技术的广泛应用,数据流作为一种新颖的数据结构在日常生活中有着越来越广泛的应用,微软在SQL Server 2008 R2 中推出了分析处理数据流的新组件——StreamInsight。
它提供了基于DotNET框架的开发环境,用户能够轻松地使用它来开发出健壮,高效地数据流处理程序。
StreamInsight的本质是复杂事件处理(Complex Event Processing,CEP)的应用程序框架,与传统的数据库查询处理不同,
事件处理系统需要同时处理来自多个数据源的海量事件(Event),并且根据用户提供的查询语句以及匹配模式,实时地输出事件分析结果。我们在下表中列出了事件驱动应用和数据库应用的主要区别:
数据库应用 | 事件驱动的应用(Event Driven) | |
查询模式 | 特定的查询请求 | 连续的查询 |
响应时间 | 从几秒至数天 | 几毫秒或更少 |
数据流量 | 数百条记录/秒 | >10000 事件/秒 |
通过使用StreamInsight,用户可以开发出基于CEP的程序来实时处理大量的原始数据,利用数据之间的层次和关联关系,有效的采用相应的规则进行处理,
以降低进行事件分析,事件关联及事件解析等操作的代价。StreamInsight同时能够支持对数据流模式匹配、异常检测、趋势分析等操作,
使用户能够更好地管理、监控和挖掘数据,最终使用户得到之前无法了解的信息,并能够更快速和更有效的进行操作决策,提高关键绩效指标(KPI)。
在StreamInsight的应用中,其核心为StreamInsight服务器,它主要由输入,输出适配器(Adaptor)以及CEP引擎(CEP Engine)组成。
- CEP引擎(CEP Engine):所有的输入数据都将再CEP引擎中进行分析和处理,它根据用户定义的查询逻辑,有效地分析和转换输入的数据,并及时输出结果。
- 适配器(Adaptor):StreamInsight提供了适配器的框架,开发者能够通过实现不同的接口来开发不同种类的适配器。适配器分为两类,输入适配器(Input Adaptor)是连接外部存储设备如网络服务器,传感器同StreamInsight引擎的接口。而输出适配器则用于处理CEP引擎输出的结果并可以同时触发一系列的操作。
下图给出了StreamInsight应用的整体结构:
StreamInsight平台提供了一个功能强大的对象模型,它包含了许多有用的特性使得我们能够开发出灵活和功能强大StreamInsight的程序。
对于初次使用StreamInsight的开发者来说,参考网上的一些实例能够取得事半功倍的效果。
在我加入微软之前,也曾进行过一段时间的数据流研究,当时的感受是,由于没有很好的数据流开发框架,
我需要对于不同的应用开发不同的数据流程序来分析算法的有效性,而随着StreamInsight的推出,不仅能够为企业用户创造很大的价值,普通研究者也能够使用它更有效地开展研究工作。
StreamInsight的相关组件可以在微软网站上直接下载,如果您需要获得更多的信息,请访问微软StreamInsight的相关网站。
it知识库:浅谈SQL Server 2008 R2 中的新组件——StreamInsight,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。