「非順序型」と呼ぶ実行原理に基づくデータベースエンジンの開発が進んでいる。データベースのレコードに対してI/O要求を分散して発行。同様の検索処理で、従来の「順序型」では到達できない処理スピードを目指す。ターゲットに据えるのは、大量かつ多様なデータを掛け合わせて知見を得るビッグデータ活用だ。

 従来型に比べ800倍の性能を達成する――日立製作所と東京大学が共同開発中の「超高速データベースエンジン」が掲げる目標はかなり高い。

 研究開発には、2010年3月から取り組む。製品の第一弾として、従来型データベースエンジンに比べ約100倍の検索性能を発揮するエンジンを開発。日立製のサーバーやストレージと組み合わせ、「Hitachi Advanced Data Binder プラットフォーム(HADB)」として6月に販売開始した。

 超高速データベースエンジンの速さの秘密は、「非順序型」の実行原理に基づいてデータを処理することにある。一方、従来のデータベースエンジンは「順序型」。両者のデータ処理のイメージを示したのが図1だ。順序型は、事前にプログラムされた決定的な処理順序に従う。これに対して非順序型は、データのI/O要求の発生順序とは無関係な順序で、非同期にデータを処理する。この手法により、サーバーのマルチコアプロセッサおよびストレージシステムの利用効率向上を図る。

図1●順序型と非順序型の処理イメージ
非順序型は、I/O処理を非同期かつ並列に実行することで大量データを高速に処理する
[画像のクリックで拡大表示]

 非順序型が、大量データをいかに効率よく処理するのか、その仕組みを見ていこう。

 まず、従来の順序型データベースエンジンの動きを確認する。ここで、顧客情報テーブル、注文情報テーブル、注文明細テーブルをジョイン(結合)し、条件に合った明細レコードを取り出す処理を考える(図2)。検索のやり方はいくつかあるが、ここでは「ネステッドループジョイン」を使う。

図2●従来型(順序型)データベースエンジンは逐次にデータを処理
顧客レコードから注文レコードをたどり、それに紐づく明細レコードを読むというように、あらかじめ処理順序が決まっている。ネステッドループジョインを使った例
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。