隨著信息技術的廣泛應用,數據流作為一種新穎的數據結構在日常生活中有著越來越廣泛的應用,微軟在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,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。