概觀 (StreamInsight)
Microsoft StreamInsight 提供一個功能強大的平台來開發及部署複雜事件處理 (CEP) 應用程式。CEP 是適用於高輸送量、低度延遲之事件資料流處理的技術。一般事件資料流來源包含來自製造應用程式、財務交易應用程式、Web 分析以及操作分析的資料。StreamInsight 的資料流處理架構以及奠基於 .NET 的熟悉開發平台,可讓開發人員快速實作強固且具備高度效率的事件處理應用程式。
StreamInsight 具有下列主要優點:
高度最佳化效能和資料輸送量
StreamInsight 會實作輕量型資料流架構,可支援以高度平行方式執行高速資料的持續查詢。使用記憶體中的快取和累加結果計算提供了具有高資料輸送量和低度延遲的絕佳效能。因為會處理事件而不需要在重要的處理路徑中花費高成本的資料載入或儲存作業,所以會達成低度延遲。有了 StreamInsight,內送事件會自動觸發所有的處理。特別是,應用程式不必發生事件輪詢的任何負擔。此平台會提供處理失序事件的功能。此外,也可以存取靜態參考或歷程記錄資料,並將其併入低度延遲分析中。
.NET 開發環境
開發人員可以使用 Microsoft 的 .NET 語言 (如 Visual C#) 開發 CEP 應用程式,利用進階語言平台 LINQ (Language Integrated Query) 當做內嵌查詢語言。當提供了已經熟悉這些技術的大型開發人員社群之後,這項功能便會減少從應用程式開發到實際執行的開發成本與時間。在目前的版本中,StreamInsight 只支援使用 C# 當做主機語言。
熟悉 SQL 的開發人員也可藉由使用 LINQ 來以宣告方式快速撰寫查詢,以便處理多個資料流中的資料,並將這些資料互相產生關聯來形成有意義的結果。接著 StreamInsight 伺服器的最佳化工具和排程器會確保可擁有最佳的查詢效能。
彈性的部署功能
StreamInsight 支援三種部署案例:
當做主控 (內嵌) DLL 完整地整合到應用程式。
當做獨立伺服器,其中包含了共用伺服器的多個應用程式和使用者。在其獨立組態中,StreamInsight 伺服器會在類似可執行檔的包裝函式中執行,或者此伺服器可以封裝為 Windows 服務。
主控或獨立 StreamInsight 伺服器可以屬於伺服陣列的一部分。
管理能力
內建到 StreamInsight 伺服器的監視和管理功能提供了很低的 CEP 應用程式總擁有成本 (TCO)。StreamInsight 伺服器中所提供的管理介面和診斷檢視可讓系統管理員監視及管理 CEP 應用程式。管理能力架構也可讓 ISV 和系統整合人員在遠端監視及支援於製造地點和其他向外延展安裝中的 StreamInsight 部署系統。
StreamInsight 會提供獨立的事件流程偵錯工具,可用於分析、診斷及疑難排解 StreamInsight 應用程式中使用的查詢。
CEP 案例
高輸送量、低度延遲之事件資料流處理是下列商務案例的共同需求:
製造流程的監視和控制
點選流分析
財務服務
電源公用程式
保健服務
IT 監視
後勤
電信
下列章節將討論這些案例的一部分,並調查其事件處理需求。
製造流程的監視和控制
為了確保產品和流程有最佳的運作且停機時間最少,製造公司需要低度延遲的資料收集及廠房裝置與感應器的分析。一般的製造案例包括下列需求:
針對機器產生的資料進行以資產為基礎的監視和彙總。
以感應器為基礎的廠房活動與輸出觀察。
透過裝置控制器觀察及互動。
最多每秒能夠處理 10,000 個資料事件。
發生問題時便會產生事件和警示。
根據情況來以主動方式維護重要設備。
以低度延遲的方式分析彙總的資料 (視窗型及對數刻度)。
點選流分析
如果客戶要取得商業網站的最佳體驗,則需要網站上使用者行為與互動的低度延遲處理方式。一般點選流分析應用程式包括下列需求:
能夠根據低度延遲的點選流分析來驅使頁面配置、導覽和呈現。
在尖峰流量期間,最多每秒能夠處理 100,000 個資料事件。
立即點選流模式偵測及具有目標通知的回應。
財務服務環境中的演算法交易
演算法交易以及它的高量資料處理需求具有下列的需求:
最多每秒能夠處理 100,000 個資料事件。
時間關鍵的查詢處理。
利用非常短的機會時間來監視及充分利用目前的市場狀況。
輸入資料的智慧篩選。
能夠定義多個資料來源模式,並在一段時間自動觸發購買/販賣/保留某個組合中的資產決策。
電源公用程式
此公用程式區段需要有效率的基礎結構來管理電力網格和其他公用程式。系統通常有下列需求。
立即回應能源或水力耗用量的變化,以減少或避免斷電或其他服務中斷情形。
移到智慧型電力網格來取得營運和環境上的效率。
隨著網格而提供多個層級的彙總。
最多能夠每秒從數百萬個資料來源中處理 100,000 個事件。