概要 (StreamInsight)
Microsoft StreamInsight には、CEP (複合イベント処理) アプリケーションを開発および配置するための強力なプラットフォームが用意されています。CEP は、高いスループットと短い待機時間でイベント ストリームを処理するためのテクノロジです。一般的なイベント ストリームのソースには、製造アプリケーション、金融取引アプリケーション、Web 分析、経営分析などのデータがあります。StreamInsight ストリーム処理アーキテクチャと使い慣れた .NET ベースの開発プラットフォームにより、開発者は、堅牢で効率的なイベント処理アプリケーションを迅速に実装することができます。
StreamInsight には、次のような主な利点があります。
大幅に最適化されたパフォーマンスとデータ スループット
StreamInsight に実装された軽量なストリーミング アーキテクチャでは、高速データに対する連続したクエリの並列実行がサポートされています。メモリ内キャッシュの使用と増分結果の計算により、データ スループットが高く待機時間が短い優れたパフォーマンスが実現します。クリティカルな処理パスでは、コストの高いデータ読み込みやストレージ操作なしでイベントが処理されるため、待機時間が短縮されます。StreamInsight では、受信イベントをトリガーとしてすべての処理が自動的に開始されます。これにより、アプリケーションでは、イベント ポーリングのオーバーヘッドをなくすことができます。プラットフォームには、順序不定なイベントを処理するための機能が用意されています。さらに、静的参照または履歴データにアクセスして、低待機時間分析に含めることもできます。
.NET 開発環境
開発者は、高度な言語プラットフォームである LINQ (言語統合クエリ) を埋め込みクエリ言語として利用することで、Visual C# などの Microsoft .NET 言語で CEP アプリケーションを作成することができます。多くの開発者がこれらのテクノロジを既に熟知していれば、この機能によって、開発コストが削減され、アプリケーションの開発から運用までにかかる時間が短縮されます。現在のリリースでは、StreamInsight は、C# のみをホスト言語としてサポートしています。
SQL を使い慣れている開発者は、LINQ を使用することにより、クエリを宣言形式で短時間に記述できるようになります。このようなクエリでは、複数のストリームのデータを処理して相互に関連付け、意味のある結果を取得します。StreamInsight サーバーのオプティマイザーおよびスケジューラは、最適なクエリ パフォーマンスを実現します。
柔軟な開発能力
StreamInsight では、次の 3 つの開発シナリオがサポートされています。
ホスト (埋め込み) DLL としてのアプリケーションへの完全な統合。
複数のアプリケーションおよびユーザーによってサーバーが共有されているスタンドアロン サーバー。スタンドアロン構成では、StreamInsight サーバーは、実行可能ファイルなどのラッパー内で実行されるか、Windows サービスとしてパッケージ化できます。
サーバー ファームの一部となるホストされた、またはスタンドアロンの StreamInsight サーバー。
管理の容易性
CEP アプリケーションの総保有コスト (TCO) を削減するために、StreamInsight サーバーには監視機能および管理機能が組み込まれています。StreamInsight サーバーに用意されている管理インターフェイスおよび診断ビューを使用すると、管理者は CEP アプリケーションを監視および管理できます。また、管理機能を備えたフレームワークにより、ISV およびシステム統合の担当者は、製造工程やスケールアウト工程における StreamInsight 配置システムをリモートで監視およびサポートできます。
StreamInsight に用意されているスタンドアロンのイベント フロー デバッガーを使用すると、StreamInsight アプリケーションで使用されているクエリの分析、診断、およびトラブルシューティングを行うことができます。
CEP シナリオ
次のようなビジネス シナリオでは共通して、高いスループットと短い待機時間でのイベント ストリーム処理が求められます。
製造工程の監視および制御
クリックストリーム分析
金融サービス
公益事業
医療
IT 監視
物流
電気通信
次のセクションでは、このようなシナリオのいくつかについて説明し、イベント処理に関する要件を詳しく見てみます。
製造工程の監視および制御
製造会社は、製品および工程の流れを最適化し、ダウンタイムを最小限に抑えるために、工場のデバイスおよびセンサーのデータを短い待機時間で収集および分析する必要があります。一般的な製造シナリオには、次の要件があります。
製造中に生成されるデータに対する資産ベースの監視と集計
センサーによる工場の活動と生産量の監視
デバイス コントローラーによる監視および対応
最大で毎秒 10,000 データ イベントの処理能力
問題発生時のイベントと警告の生成
主要な設備の予防 (状態監視) 保全
集計データに関する低待機時間分析 (時間枠またはログ単位)
クリックストリーム分析
商用 Web サイトのカスタマー エクスペリエンスを改善するには、サイトにおけるユーザーの動作および操作を短い待機時間で処理する必要があります。一般的なクリックストリーム分析アプリケーションには、次の要件があります。
低待機時間クリックストリーム分析に基づいて、ページのレイアウト、ナビゲーション、および表示を実現する機能
トラフィック ピーク時における毎秒最大 100,000 データ イベントの処理能力
対象を絞った広告による短時間でのクリックストリーム パターンの検出と反応
金融サービス環境におけるアルゴリズム取引
大量のデータ処理のニーズがあるアルゴリズム取引には、一般的に、次の要件があります。
毎秒最大 100,000 データ イベントの処理能力
タイム クリティカルなクエリの処理
ビジネス チャンスの時間枠が非常に短い現在の市場状況の監視および活用
入力データの効果的なフィルター処理
複数のデータ ソースおよび時間の推移に対してパターンを定義し、それをトリガーとしてポートフォリオ内の資産に関する売買や保留の決定を自動的に行う機能
公益事業
公益事業では、配電網などの公益設備を管理するための効率的なインフラストラクチャが必要です。通常、こうしたシステムには、次の要件があります。
停電およびその他のサービスの中断を回避するか最小限に抑えるための、エネルギーや水の消費量の変動への迅速な対応
スマート グリッドへの移行による運用および環境上の効率の向上
グリッドに沿った複数レベルの集計
大量のデータ ソースから転送される毎秒最大 100,000 イベントの処理能力