写真1●東京大学生産技術研究所の喜連川優教授
写真1●東京大学生産技術研究所の喜連川優教授
[画像のクリックで拡大表示]

 東京大学生産技術研究所喜連川研究室は2014年7月9日、国から41億円の助成金を受けた研究プロジェクト「FIRST喜連川プロジェクト」の成果報告会を開いた。同プロジェクトでは、既存技術に比べて1000倍の高速で動作する「非順序型データベースエンジン技術」を開発。中心研究者である東大の喜連川優教授(写真1)は「ディスクでもフラッシュでも、商用ソフトでもオープンソースソフトウエア(OSS)でも、同じように高速化する技術ができた」と成果を語った。

 FIRST喜連川プロジェクトの正式名称は、内閣府最先端研究開発支援プログラム(FIRST)の「超巨大データベース時代に向けた最高速データベースエンジンの開発と当該エンジンを核とする戦略的社会サービスの実証・評価」で、2010年3月から2014年3月末までの4年間で、非順序(アウト・オブ・オーダー)型実行原理に基づく超高速DBエンジン技術(非順序型DBエンジン技術)の開発や、同技術の実アプリケーションへの適用を行っている。

図1●非順序型DBエンジン技術の位置づけ
図1●非順序型DBエンジン技術の位置づけ
[画像のクリックで拡大表示]

 非順序型DBエンジン技術は、データ入出力要求の発生順序とは無関係な順序で、非同期にデータを処理するというもの。「情報爆発時代を向かえて、従来からあるDBエンジン技術である『インデックス(索引)方式』や『ハッシュクラスタリング方式』では対応できない中間領域が増えていた。そこで、これまで誰もやっていない新しいDBエンジン技術として、非順序型DBエンジン技術を開発した」。喜連川教授はこのように語る(図1)。

 インデックス方式は、問い合わせ処理の実行頻度が多いときには処理性能が高速になり、問い合わせ処理によるデータアクセス量が多いときには性能が下がるという特徴がある。ハッシュクラスタリング方式は逆に、データアクセス量が多いときには性能が上がり実行頻度が多いときには性能が下がるという特徴がある。データ量が少ない頃はこの2つの方式を使い分ければよかったが、情報量が爆発的に増加することで、インデックス方式、ハッシュクラスタリング方式のいずれもが不得意とするデータのあり方が増えたというのが喜連川教授の見立てだ。

様々な条件下で100倍以上の高速化を達成

図2●非順序型DBエンジン技術が高速になる仕組み
図2●非順序型DBエンジン技術が高速になる仕組み
[画像のクリックで拡大表示]

 非順序型DBエンジン技術は、非同期の入出力を大量に発行することで、プロセッサやストレージI/Oの能力を限界にまで引き出している。初期の検証で「全く同じハードウエアでも、スレッド数(処理多重度)を大きくすることで、性能がぐっと上がることが分かった」(喜連川教授)ことから、プロジェクトではクラスターサーバーを使って処理の多重度をさらに引き上げて行った(図2)。

 プロジェクトでは2011年3月までに、従来技術よりも100倍高速な非順序型DBエンジン技術を開発。日立製作所が2012年に「Hitachi Advanced Data Binder プラットフォーム」として製品化した。非順序型DBエンジン技術の性能はその後も向上しており、東大と日立は2014年6月、両者が開発するDBエンジンが従来型DBに比べて約1000倍の処理性能を達成したと発表している(関連記事)。