図●分散並列型複合イベント処理の構成(提供:富士通)
図●分散並列型複合イベント処理の構成(提供:富士通)
[画像のクリックで拡大表示]

 富士通と富士通研究所は2011年12月16日、ビッグデータの負荷増減に対応して分散並列処理を行う、新しい複合イベント処理(CEP)技術を開発したと発表した。これまでの複合イベント処理では、ビッグデータの負荷の変動にノンストップで対応することが困難だったが、新技術では、分散並列処理を適用して処理の細粒度化と実行中の動的な分散を行うことで、処理を止めずに負荷増減に対応できるようにした。富士通は、この技術について、2012年度内の実用化を目指す。

 複合イベント処理は、センサーデータや位置情報など多種多様で膨大な時系列データ(ビッグデータ)から、価値のある情報を高速で抽出するための手法。入力されるビッグデータを、あらかじめ定義したクエリーに基づいてサーバーのメモリー上で処理する。データをいったんデータベースに格納してから抽出する手法と比べて、リアルタイムにデータを分析、活用することができる。

 しかし、これまでの複合イベント処理では、連続で送られてくる時系列データをリアルタイムに処理しながら、メモリー上にある分析処理中のデータをサーバー間で高速に移動することが技術的に困難だった。そのため、複合イベント処理のシステムは、データのピーク時に合わせたリソースで構成しておくか、大幅なデータの変動が予想される事態では一度システムを止めて再構成する必要があった。

 今回発表した新技術は、時系列データの負荷増減に応じて動的に分散並列処理ができる複合イベント処理技術だ。(1)処理を細粒度化し、その粒度化された処理を実行中にほかのサーバーへ移動する技術、(2)適した移動先を選択する技術、という二つの要素で構成される。

 (1)では、のようにクエリーおよびクエリー内の並列データを複合イベント処理の管理単位として細粒度化し、時系列データの負荷増減に応じて1単位ずつサーバー間でライブマイグレーションする。分散方式として、「クエリー分散」と「データ並列分散」を併用することで、毎秒500万イベントの処理性能を達成したという。

 (2)は、負荷増減の速度、クエリーの性質や処理にかかる負荷の状況などのデータに基づいて、移動による影響が最も少ない処理を選択する技術である。例えば、関連性が強いクエリーを同一サーバー上に割り当てるなどの工夫により、処理を高速化した。