TOPサーバ構築・運用> カラムパーティション(カラムワイズアクセス)
Sybase IQ
Sybase IQで学ぶデータウェアハウス

第2回:縦切りで不要カラムの呼び出しを解決!

著者:サイベース   2007/7/10
前のページ  1  2
カラムパーティション(カラムワイズアクセス)

   カラムパーティションという実装は、「データウェアハウスの特性と汎用RDBMSとのミスマッチ」で述べた「不要カラムの読み出しの問題」を解決します。
カラム単位の縦割り
図2:カラム単位の縦割り

   データはロードする際、カラム単位に「縦切り」され、入出力がカラム単位で行えるようになります。カラム同士の横のつながり、すなわちローの管理は個々のカラムが保有するIDで論理的に管理されます。多項目大量データを扱うデータウェアハウスにおいて、カラムパーティションを行うことにより、以下のようなメリットが得られます。

  • 不要カラムの読み込みを抑制することによるディスクI/Oの減少
  • 圧縮時の効率向上
  • 処理スピード(パッチ処理時間、レスポンスタイム)の向上

表1:カラムパーティションのメリット

   具体的な例をあげて、汎用RDBMSとの違うを説明します。今回は以下のような条件を想定してみます。

  • テーブルは、1ローあたり800バイト、1億ローから成る
  • 性別、州、保険の加入状況のカラムが含まれている
  • 「カリフォルニアで保険に加入していない男性」という条件で検索する

表2:想定した条件

   一般的なRDBMSの場合、ロー単位アクセスですから、800バイトのローを1000万件すべて、つまり80億バイト読み込む必要があります。仮にページサイズを16KBに設定していたとすると、ディスクのI/O回数は50万回となります。

汎用RDBMSのディスクアクセス量
図3:汎用RDBMSのディスクアクセス量
(画像をクリックすると別ウィンドウに拡大図を表示します)

   一方Sybase IQでは、性別、加入状況をそれぞれ1バイト、州を2バイトと仮定すると、カラム単位アクセスですから読み込み量は1000万バイト+1000万バイト+2000万バイトで、合計4000万バイト、同じく16KBのページサイズとすると、I/O回数はわずか2500回となります。

Sybase IQのディスクアクセス量
図4:Sybase IQのディスクアクセス量

   実際には、Sybase IQ側ではページが圧縮されるうえ、実際のページサイズは最低64KBと非常に大きいためI/O量はさらに減少し、汎用RDBMSとの差はもっと大きくなります。また、構造的にカラム単位でしかアクセスしないため、時間がかかる全テーブルスキャンに陥る可能性がありません。


次回は

   次回は今回説明できなかった「インデックス化(ビットワイズインデックス)」と「データ圧縮」について解説していきます。

前のページ  1  2

技術ホワイトペーパ「情報分析用高速クエリエンジンSybase IQ」

本連載はサイベースが提供している技術ホワイトペーパ「情報分析用高速クエリエンジンSybase IQ」の転載となります。Sybase IQのより詳細な内容については以下のページを参照してください。

http://www.sybase.jp/products/informationmanagement/sybaseIQ_moreInfo.html

サイベース株式会社
著者プロフィール
サイベース株式会社
1984年、カリフォルニア州バークレーで設立。情報の管理能力と、卓越したレベルでデータの信頼性とセキュリティを提供し、データセンターからアクションポイントまで、情報の管理と可動化のみに焦点を合わせた最大のグローバルエンタープライズソフトウェア企業として活動。サイベース株式会社は、米国 サイベース社 の日本法人として1991年に設立。


INDEX
第2回:縦切りで不要カラムの呼び出しを解決!
データ構造の違いをSybase IQで学ぶ
  カラムパーティション(カラムワイズアクセス)