アシストは2012年8月8日、ストレージI/Oの削減に注力したDWH(データウエアハウス)用途のデータベース管理システム(RDBMS)新版「InfiniDB 3」を発表、同日提供を開始した。新版では、シェアードナッシング構成で動作するようにした。価格(税別)は、1コア当たり90万円で、保守料金は年額18万円。開発会社は、米Calpont。

 InfiniDBは、MySQLをベースとしたDWH専用のRDBMSである。カラム(列)指向のデータアクセス、独自アーキテクチャによるストレージI/Oの削減、スケールアウトによる拡張性、といった特徴を備える。これらの工夫によってデータ転送量を減らし、検索を高速化している。

 アーキテクチャとしては、フロントエンドでSQLクエリーを受け付ける「User Module」(MySQLで言うSQLエンジンに該当)と、バックエンドでストレージアクセスを担当する「Performance Module」(MySQLで言うストレージエンジンに該当)の2層構造を採用した。それぞれのモジュールを実行するノードは、いずれもスケールアウトによって処理負荷を分散できる。

シェアードナッシング型で動作

 新版では、ノード間でデータを共有しないシェアードナッシング構成で動作するようにした。従来版では、Performance Moduleのバックエンドに高価な共有ストレージが必須となっていた。これに対して新版では、それぞれのPerformance Moduleが管理するローカルストレージにデータを格納できるようにした。新版ではさらに、データソースからのデータロード(格納)処理を並列処理によって高速化した。

 InfiniDBの大まかな動作の仕組みは次のようになる。まず、User Moduleがクライアントアプリケーションから受け取ったSQLクエリーを解釈し、SQLとは異なる低レベルの検索要求に変換してPerformance Moduleに送る。この要求を受け取ったPerformance Moduleは、ストレージからデータを抽出してUser Moduleに返す。この際、データ圧縮など各種手法でストレージI/Oを削減している。

 カラム指向のデータアクセスによっても、ストレージI/Oを抑制している。テーブルに対するデータの格納と抽出を、行(ロー)単位ではなく列(カラム)単位で行う。検索時に複数の列を読み込む必要がないため、ストレージI/Oが減る。さらに、ある特定の列のデータを読み込む際に、該当する範囲の行に限って読み込めるようにしてデータ量を削減している。