SQL Server の注目機能の一つに StreamInsight というものがあります。これは、CEPを実現するものです。HDInsight の『Insight』と同じキーワードがあったので、反応してしまいました。 CEP とは、
情報システムが分析処理をする場合、いったんデータをデータベースに格納してから、再度必要に応じて命令(クエリー)で参照して抽出する内部処理を行うのが一般的です。1回の処理は0.1秒で済むとしても、多数の人が繰り返し利用する状況では、数秒単位で処理が遅延します。
これに対して、刻々と収集される市場データをより短時間で処理できる方式として注目されつつあるのがCEP(複合イベント処理)です。例えば株のアルゴリズム売買を行うシステムのように、「直前の5分間で株式Aの価格が1%上昇し、株式Bの価格が0.5%下落した時、すぐに株式Cを買う」といった処理に適した手法です。この場合にCEPでは、直前5分間の値動きのデータをメモリー上に保持しておいて、すぐに簡易な処理を実行します。データベースにいったん格納するやり方に比べて数十~数百倍のスピードで情報をさばきます。データをいったん格納・抽出せずに、逐次処理するという点では、「コンピュータ版カンバン方式」とも言えるでしょう。
金融以外の業務システムでも、生産ラインから営業・物流までの全体を見渡せば、金融市場並みに多数のイベントが起きます。これらを組み合わせて処理するSOA(サービス指向アーキテクチャー)に関連して、CEPの応用が進んでいます。
非常に面白そうですね。DWH と異なる点は、データをリアルタイムで処理すること、対象データ範囲が数十分~数時間という短時間である点です。SQL Server 2008R2 からサポートされています。リアルタイム且つ高速にデータを扱う必要があるので、2014 ではメモリ最適化テーブルあたりを使用するのでしょうか。
まだ、SQL Server 2014 CTP1 で StreamInsight は検証できないようですね。CTP2 あたりで対応されるのでしょうか?(見つけることができませんでした。) 気長に待ちましょう。