新功能 (StreamInsight)
Microsoft StreamInsight 引進了新的功能和增強功能,這些功能可提高複雜事件處理開發人員和管理員的能力與產能。
如需有關已知問題的詳細資訊,請參閱<版本資訊 (StreamInsight)>。如需回溯相容性的詳細資訊,請參閱<回溯相容性 (StreamInsight)>。
StreamInsight 1.2 (2011 年 6 月) 的新功能
新恢復功能
StreamInsight 1.2 針對系統失敗支援內建的恢復功能以進行資料流處理。此支援僅能在 Premium 版的 StreamInsight 中使用。如需有關版本的詳細資訊,請參閱<選擇 StreamInsight 版本>。
新的恢復功能可讓您透過最少的操作停機時間及清楚顯示系統失敗的方式,在您選擇的 Windows 平台上,以業界領先的整體擁有成本,執行重要的應用程式。如需詳細資訊,請參閱下列主題。
新的恢復功能也會導入新的查詢狀態:
正在初始化:此狀態通常在下列其中一個事件之後存在:
- 查詢已遭停止,且使用者已經呼叫其 Start 方法。
- 具有恢復功能的查詢正在執行,且伺服器正在從失敗復原。若要變更查詢的狀態,使用者必須呼叫其 Start 方法。
檢查點檢查:查詢正在執行且檢查點正在進行中。
新的開發人員功能
StreamInsight API 的增強功能包括下列功能:
使用者定義的資料流運算子
您現在可以透過使用者定義的資料流運算子,提供自訂的輸入資料流處理。使用者定義的運算子和使用者定義的彙總可讓您與視窗互動,而使用者定義的資料流運算子則可讓您直接與資料流內容互動、以累加的方式計算並產生結果,以及管理狀態。如需詳細資訊,請參閱<使用者定義的資料流運算子>。
LINQ 增強功能
您可以在事件裝載、配接器和 LINQ 查詢中使用巢狀類型。如需有關事件裝載的詳細資訊,請參閱<建立事件類型>。
您可以使用 LINQ 的 "let" 子句。如需詳細資訊,請參閱 let 子句 (C# 參考)。
您可以在單一查詢中聯結多個資料流。您不再受限於只能聯結 2 個資料流。如需有關聯結的詳細資訊,請參閱<聯結>。
您可以在 "from" 子句 (而非只在第一個 "from" 子句和聯結) 中,以內嵌方式呼叫擴充方法。
您可以在複合聯結索引鍵上聯結資料流。例如:where {x.a, x.b} equals {y.a, y.b}。如需有關聯結的詳細資訊,請參閱<聯結>。
您可以投射一個單一欄位,而不需要建立新的匿名類型。例如:from x in xs select x.A,而非 from x in xs select new { x.A }。如需有關投射的詳細資訊,請參閱<投射>。
您可以在一個運算式中使用多個彙總。例如,select new {ratio = (double)win.Sum(e => e.good) / (double)win.Count()}。
您可以在 "group by" 子句中,群組新的匿名類型。例如:from x in xs group new { x.A, x.B } by new { x.C, x.D } into g,其中 group new { x.A, x.B } 會示範新的功能。之前,"group by" 子句中的選取器為內送類型,例如,from e in input group e by …。
您現在可以在 Take 子句中加入投射。例如,… select new { myAvg = r.Value / 10, r.SourceId }).Take(2, …)。之前,Take 子句中的選取器為內送類型,例如,from win in input.window(…) from e in … select e).Take(…)。
API 增強功能
有一個新的多載可供 ShiftEventTime 方法使用,這個方法會當做所表示之方法的名稱運作。亦即,新的多載會依提供的時間範圍量,移位事件的時間。這個方法的原始版本需要您同時指定目前的事件時間和時間範圍,才能移位事件時間。但是您現在可以撰寫 ShiftEventTime(e => TimeSpan.FromMinutes(15)),而不必撰寫 ShiftEventTime(e => e.StartTime + TimeSpan.FromMinutes(15))。不過,您仍然可以使用這個方法的原始版本,透過提供日期時間值,將事件時間設定為特定的時間。為了回溯相容性,系統會保留原始版本。如需詳細資訊,請參閱<時間戳記修改>。
有一個可用於跳動視窗的新輸出原則 PointAlignToWindowEnd。現有的原則ClipToWindowEnd 會產生一個對應於集合式作業存留期間的視窗大小。新原則會產生一個時間點事件,其開始時間為視窗的結束時間。當您將結果與其他資料流相結合時,這個新的輸出原則相當實用,因為每個時間點只有一個單一有效結果,這個結果表示當時最新的彙總結果。
所有視窗現在都有預設的輸出原則:ClipToWindowEnd 供快照集視窗使用,而 PointAlignToWindowEnd 供跳動或輪轉視窗以及計數視窗使用。
新的管理能力與工具功能
您現在可以使用現有的診斷基礎結構搭配效能監視器和事件檢視器,監視及疑難排解 StreamInsight 處理與查詢。您也可以存取已擴充的診斷屬性清單。
效能計數器
您現在可以使用效能計數器檢視 StreamInsight 伺服器處理序、查詢和輸入資料流的計數器。如需詳細資訊,請參閱<監視 StreamInsight 效能計數器和事件>。
Windows 事件記錄檔中的管理記錄
您現在可以使用 [Windows 事件檢視器] 查看與 StreamInsight 伺服器處理序、配接器、查詢,以及應用程式事件記錄檔中傾印工具相關的管理事件。如需詳細資訊,請參閱<監視 StreamInsight 效能計數器和事件>。
其他診斷屬性
用於協助監視與疑難排解的新診斷屬性有好幾個。新屬性包括:
AdapterNumberOfRunningWorkers、AdapterNumberOfRunningWorkers 和 AdapterNumberOfSuspendedWorkers
AdapterFirstCtiTimestamp
OperatorNumberOfWorkers
OperatorGroupIdField
QueryInstanceGroupId
StreamNumberOfWorkers
StreamMinInputEventCountAcrossWorkers 和 StreamMaxInputEventCountAcrossWorkers
StreamMinMemoryIncludingEventsAcrossWorkers 和 StreamMaxMemoryIncludingEventsAcrossWorkers
此外,有部分先前可用的檢視已遭到移除。這些包括與排程器相關的所有檢視。
如需詳細資訊,請參閱<監視 StreamInsight 伺服器和查詢>。
StreamInsight 1.1 (2010 年 10 月) 的新功能
自 StreamInsight 1.0 Refresh 1 後實作了下列變更和新功能。2010 年 10 月 StreamInsight 1.1 中發行這些功能。
支援實作 IObservable 或 IEnumerable 介面的事件來源與接收。新類別和成員已新增至 StreamInsight API,支援此輸入和輸出的新程式設計模型,來代替一般的輸入和輸出配接器。下列主題將描述這些功能:
Adapter 類別的 Stop 方法。這個方法會通知配接器由於停止或中止查詢而停止。
新版 StreamInsight 會與舊版並存安裝。如需有關安裝 StreamInsight 版本的詳細資訊,請參閱:
<安裝 (StreamInsight)>中的<安裝新版 StreamInsight>。
<程式設計考量>中的<StreamInsight 版本>。
StreamInsight 1.0 Refresh 1 (2010 年 6 月) 的新功能
自 StreamInsight 1.0 RTM 後實作了下列變更和新功能。2010 年 6 月 StreamInsight 1.0 Refresh 1 中發行這些功能,與 SQL Server 2008 R2 累計更新 2 同時發行。
ClipEventDuration API:CepStream 類別的這個新方法讓您使用次要的資料流,以判斷要在主要資料流的何處裁剪事件持續時間。如需詳細資訊,請參閱:
時間戳記修改中的<裁剪事件的持續時間>
StreamInsight 應用程式開發中的 Microsoft.NET Framework 4 支援
如需有關這些變更的詳細資訊,或要下載 StreamInsight 1.0 Refresh 1,請參閱知識庫文件與 SQL Server 2008 R2 累計更新套件 2 一起發行的 StreamInsight 1.0 更新 (英文)。
StreamInsight 1.0 RTM (2010 年 4 月) 的新功能
自 2009 年 11 月 StreamInsight 1.0 Community Technology Preview (CTP) 後實作了下列變更和新功能。。2010 年 4 月 StreamInsight 1.0 中發行這些功能,與 SQL Server 2008 R2 同時發行。
設計和開發
您現在可以使用 StreamInsight 查詢當做應用程式的建置組塊。查詢可以建置在現有查詢和目前執行中查詢的上層。如需詳細資訊,請參閱<在執行階段撰寫查詢>。
已經加入同步化輸入資料流的支援。如需詳細資訊,請參閱<提前應用程式時間>。
StreamInsight 中單一事件的大小上限已經增加到 16K。如果將系統欄位和事件中繼資料算進來,比較安全且實際的限制是 14K。
運算子
已經加入計數視窗的支援。如需詳細資訊,請參閱<計數視窗>。
已經加入左方反半聯結作業的支援。如需詳細資訊,請參閱<聯結>。
API
AdapterFactory 類別具有新的介面定義 IDeclareAdvanceTimePolicy,該定義會傳回 AdvanceTimeSettings 執行個體。這是您可以從配接器 Factory 指定提前時間設定所依據的機制。
管理
診斷檢視
新的診斷檢視可在下列特定層級用來監視系統:伺服器、運算子、排程器和配接器。如需詳細資訊,請參閱<監視 StreamInsight 伺服器和查詢>。
範例
也可以從 StreamInsight 範例下載範例。