「カラム型DB」はリレーショナルデータベース(RDB)の一種。データを「ロー(行)」ではなく、「カラム(列)」単位に扱う。「来店日時別の売り上げ集計」といった処理を高速にこなせるため、データウエアハウス(DWH)の性能向上策として注目度が高まっている。ローとカラムのどちらでもアクセス可能な製品も登場してきた。

 カラム型DBと一般的なRDB(ロー型DB)のアクセス手法を比較していこう。 

 RDBは、Excelなど表計算ソフトと同様に表(テーブル)構造でデータを格納する。表には、データ項目を指定する「カラム(列)」がある。例えば飲食店の売り上げ明細であれば、売上日や店舗名、来店日時、会員番号、お客様名、主担当、レジ担当、メニュー、数量、税抜金額、消費税、合計金額などがデータ項目となる。各データ項目に値が入った1件のレコードが「ロー(行)」だ。

 データウエアハウス(DWH)には時系列で大量のデータが蓄積されている。そのデータを取り出して分析する際は、特定のカラムが呼び出されることが多い。この特性に着目し、カラム型DBはバッチ集計処理を高速化している。

 先の売り上げ明細から、来店日時と合計金額を集計しようとしたとき、カラム型DBはその二つのカラムにあるデータだけをメモリー上に読み込む。ところがロー単位で読む一般的なDBでは、該当レコードをすべてメモリー上に読み込み、その後、不必要なカラムのデータを省かなければならない。

 カラム型DBのSybase IQは、ページと呼ぶ単位でデータを入出力する。カラムごとにデータをページに格納しておくことで、必要なカラムのみを呼び出せる()。「カラムを狙い打つので効率的にディスクI/Oができる。メモリー上で不必要なデータを取り除く手間もいらない」(サイベース プロフェッショナルサービス本部の原利明 本部長)。

図●カラム型アクセスの特徴
カラム単位でデータがページに格納されているため、特定カラムのデータが必要な検索ではロー型に比べてI/Oが抑えられる
[画像のクリックで拡大表示]

 カラム型DBはデータ圧縮が効きやすいことも利点だ。ページ単位で格納されている同じカラムのデータは、似たようなもの、重複したものが多い。データ圧縮により1ページに格納されるデータが増えれば、一度に読み込めるデータも増えI/O効率は上がる。

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

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