日立製作所は8月3日、ハードウェア(FPGA)の内部メモリを活用してデータを高速に処理するためのデータベース管理システムと、FPGA(Field Programmable Gate Array:製造後に購入者や設計者が構成を設定できる集積回路)内でデータを高速に並列処理する技術を開発したと発表した。

これにより、開発した技術を使用しない場合と比較して、データ分析速度を最大100倍に高速化することに成功したという。また、開発した2つの技術を日立のグループ会社であるPentaho(ペンタホ)が開発した分析結果を出力するビジネス分析ソフトウェア(データ分析方法の指定やデータ分析結果の閲覧を行うためのソフトウェア)「Pentaho Business Analytics」およびデータを格納するフラッシュストレージと組み合わせることで、リアルタイムデータ分析システムのプロトタイプを構築した。

リアルタイムデータ分析システムの構成図

今回、開発したプロトタイプを用いることで、データ分析の専門家に依頼することなく、大量の業務データを分析することができるセルフサービス分析の高速化を実現し、業務効率の向上が図れるという。以下は開発した2つの技術の概要。

1. FPGAの内部メモリを活用してデータを高速に処理するためのデータベース管理システム

FPGAは高速な内部メモリ(数MB)を備えているが、データ分析処理に適したカラム型データベース(取引額などデータを構成する項目ごとの処理を効率的に実行するように設計されたデータベース)で使用されるデータ格納形式では、データの圧縮ルールや格納位置などを示すデータ管理情報のサイズがFPGAの内部メモリより大きいため、低速な外部メモリに格納する必要があった。データ管理情報は、カラム型データを外部メモリに読み込む際に参照が必要となるが、低速な外部メモリに格納すると処理速度が低下してしまう原因となる。そこで、FPGAの内部メモリのサイズにデータ管理情報が収まるように、データベースを細分化してフラッシュストレージ内に保持し、データ管理情報をFPGAの内部メモリで処理するデータベース管理システムを開発した。

技術の詳細説明図

2. FPGAでデータを高速に並列処理する技術

高速にデータ処理を行う場合、データを並列化して処理する方法が一般的に用いられている。しかし、カラム型データベースで処理する場合、1つの項目の処理が完了するまで次の処理に進むことができず、並列化が困難だった。そこで、一定の個数ずつ順番に処理することが可能なカラム処理方式を開発するとともに、データを選択するデータフィルタ回路、および、データをグループ分けして合計値や平均値などを算出するデータ集約演算回路をFPGAに実装することで、並列化処理を実現した。

今後、日立では超高速データベースエンジンを搭載した同社の高速データアクセス基盤「Hitachi Advanced Data Binderプラットフォーム」に開発技術を導入し、データ分析処理の一層の高速化を目指すと同時にビジネスの現場においてリアルタイムデータ分析システムの検証を行い、業務効率の向上に貢献していく。