メモリー上でリアルタイムにデータを処理
「クレジットカードの決済情報を監視し、遠く離れた2 つの店舗で同時に利用された場合は不正利用の疑いを警告する」「株価情報をモニタリングして、ある銘柄の株価が閾値を超えたら売却するように指示を出す」。大量のデータの中に隠された様々な兆候を拾い集め、それらを組み合わせることによって、人間では検知できない変化を察知し、リアルタイムな対応を可能にする技術がCEP(Complex Event Processing:複合イベント処理)だ。2005年頃から、実証実験を終えた各ベンダーが本格的に製品化を開始しており、現在は日本IBMや日本オラクル、サイベース、日立製作所、日本プログレスなど、各社が製品の提供を行っている。
まずは、簡単に製品の仕組みをおさらいしておこう。CEPの処理は外部ソースのデータを取り込むところから始まる。RDBMSのレコードのように構造化されたデータだけではなく、ログファイル、各種フィード、センサーなどの非構造化データを対象とすることが可能だ。入力アダプターなどによって所定の形式に変換したデータを対象にCEPエンジンが処理を行う。「2回連続して株価が上昇している」「現在の株価が直近30 秒の平均株価を上回っている」など、複数の条件を組み合わせた「分析シナリオ」と呼ばれるアルゴリズムに従って、対象のデータが条件を満たす場合に規定のアウトプットを行う仕組みだ。出力アダプターを介することで他のシステムへのコマンドやログファイルなど任意の出力形式を選択できる。
大量のインプットを高速に処理するため、一連の処理は全てメモリー上で行い、ディスクは基本的に使用しない。各データには発生時刻を属性として付与し、一定時間経過したものは破棄する。単純なしきい値による判定だけでなく、時間軸を組み合わせた分析ができるのも、時刻の概念がデータに埋め込まれているためだ。
CEPエンジンの頭脳部分である分析シナリオの記述には、各製品が規定する独自言語を用いる。スタンフォード大学の研究をベースにした製品ではSQL を拡張したCQL(ContextualQuery Language)を採用している場合が多いが、独自の方言などが存在しており、必ずしも互換性が担保されているわけではない。ただし、最近では複数のベンダーが共同で標準化を進める動きもある。
アルゴリズムトレードから採用が始まる
製品が登場した当初はアルゴリズムトレードの基盤として関心を示した金融機関による採用が進んだ。欧米を中心に複数の構築実績を持つサイベースが手掛けた案件の中でも特に典型的なのが、ロイターやブルームバーグといった通信社から配信されるマーケットの情報をCEPエンジンにインプットし、株価の値動きなどの条件とした分析シナリオに従って自動売買やアラート通知を行う金融機関向けシステムだ。「短期的な値動きをもとに判断する」「一定時間内の平均取引価格に近づける」など様々なシナリオを使って取引を自動化するとともに、「全取引を監視して違法行為をチェックする」「ディーラーの収支をリアルタイムにモニタリングする」といったシナリオを運用し、証券業務の効率化を図っている。
国内では、メガバンクなど一部の先進ユーザーが関心を示すに留まっていたが、ここ1 〜2年で状況は変化してきているようだ。特に、2010 年1 月に東京証券取引所が新基幹システム「Arrowhead」の運用を開始したことをきっかけとして、金融機関の関心が一挙に高まったとベンダー担当者は口を揃える。「日本の証券取引市場が、秒単位から1/1000 秒単位の世界に変わった。人間の能力の限界を超える速度に対応するため、ディーラーの思考回路を反映した分析アルゴリズムをCEPエンジンに組み込む形で対応が進んでいるのではないか」(サイベース 岡田和也セールスエンジニアリング部 金融ソリューショングループ課長)。
一方、金融以外の業界の利用も増えつつあるようだ。今回の取材でも「直近の1 年間に限定すると、問い合わせの内訳が金融系と非金融系で拮抗している」と回答する声が多かった。「EBM(Event Based Marketing:イベント駆動マーケティング)」などのマーケティングニーズの高まりや、従来の業務システムを遙かに上回る量のデータを生み出すRFIDやスマートフォンといったデバイスの普及、先行ユーザー事例の登場などがその要因として考えられる。
「テクノロジーの進化によって様々なデバイスのスマート化が進んできているが、生み出される情報は孤立・局在化し、十分に活用されてこなかった。それらを統合する基盤として、CEP技術に注目が集まっているのではないか」(日本IBM 土屋敦フィールド・アプリケーション・エンジニア)。