写真●InfiniDB 4が実装するウインドウ関数とSELECT文の例
写真●InfiniDB 4が実装するウインドウ関数とSELECT文の例
[画像のクリックで拡大表示]

 アシストは2014年1月15日、DWH(データウエアハウス)用途のデータベース管理システム(RDBMS)新版「InfiniDB 4」(写真)を発表、同日提供を開始した。新版では、DBMSの組み込み機能を使ってデータ分析業務を簡素化できるように、新たに26個のウインドウ関数を実装した。価格(税別)は、1コア当たり90万円で、保守料金は年額18万円。開発会社は、米Calpont。

 InfiniDBは、MySQLをベースとしたDWH専用のRDBMSである(関連記事:アシストが並列DBMS「InfiniDB」新版、CPU優先制御などを追加)。フロントエンドのSQLエンジンとバッグエンドのストレージ検索エンジンを分割したアーキテクチャー、カラム(列)指向のデータアクセス、スケールアウト構成(エンジンだけでなく、データも各サーバー内蔵ドライブに分散配置)---といった特徴を備える。これらの工夫によってストレージI/Oを減らし、検索を高速化している。

 新版ではまず、大量データの分析業務を効率化するため、分析関数としてウインドウ関数(全26種類)を使えるようにした(文末の)。これにより、ストアードプロシージャや外部アプリケーションによってデータ分析ロジックを作り込むことなく、DBMSの組み込み関数だけで複雑なデータ分析を実施できるようになった。なお、ウインドウ関数とは、SELECT句において、個々の行から直接値を取得するのではなく、複数の行をまとめた集合(ウインドウ)から値を取得できるようにする機構である。

 新版ではまた、フロントエンドのSQLエンジンとバックエンドのストレージエンジンとの間のネットワーク転送量を、データ圧縮の効率化によって、従来版の2分の1に削減したとしている。これにより、DBMSのデータ検索性能が向上した。さらに、増え続けるデータ量の状況をレポートする機能を強化し、複数の単位(データベース単位、スキーマ単位、テーブル単位、カラム単位)でレポートできるようにした。

 このほかにも、データ型として新たに符号無し整数(unsigned_int)を扱えるようにした(負の整数を扱わない場合は扱えるデータ量が2倍になる)。また、バイナリデータ形式を、一旦テキストデータ形式に変換することなく、直接ロードできるようにした。さらに、CONCAT(連結)やINSERT(挿入)など、9種類の関数の処理性能を向上させた。

表●InfiniDB 4が実装するウインドウ関数
AVG()COUNT()CUME_DIST()DENSE_RANK()
FIRST_VALUE()LAG()LAST_VALUE()LEAD()
MAX()MEDIAN()MIN()NTH_VALUE()
NTILE()PERCENTILE_CONT()PERCENTILE_DISC()PERCENT_RANK()
RANK()ROW_NUMBER()STD()STDDEV_POP()
STDDEV()STDDEV_SAMP()SUM()VAR_POP()
VARIANCE()VAR_SAMP()