ブログ@nnaka2992

データベースってなんだよ

列指向DBMSにおけるデータ圧縮手法の論文を読みました

この記事の趣旨

"Integrating Compression and Execution in Column-Oriented Database Systems"とい う2006年に発表されたそれまで行指向DBMSで培われてきた圧縮方法による、検索高速化手 法を列指向DBMSに適用・評価した論文を読んで行きます。

Integrating Compression and Execution in Column-Oriented Database Systems

Daniel J. Abadi, Samuel R. Madden, Miguel C. Ferreira

著者について

Daniel J. Abadi、Samuel R. Madden、Miguel C. Ferreiraのグループ。 それぞれDBMSやデータ分析に関連する手法やパフォーマンスについて研究している。

問題意識

2006年ごろの研究ということもありC-storeデータベースの研究が少なかった時期の論文。 既に検索パフォーマンスに寄与することがしられていたR-storeデータベースの圧縮手法 を、C-storeへ応用や評価を行なった。

手法

提案手法は以下の圧縮技術の組み合わせからなる。

  1. Null圧縮
    Nullや0、空白を削除しどこに存在したかのみを記録する圧縮方法
  2. 辞書エンコーディング
    頻出するパターンをより短い文字列に起き変える圧縮手法
  3. Run Lengthエンコーディング
    どの文字がどこで何回出現したのかを記録する圧縮方式
  4. ビットベクターエンコーディング
    カテゴリカルなデータに有効なエンコーディングで、 それぞれのカテゴリに属するかどうかをバイナリで表現する圧縮方法
  5. Lempel-Zivエンコーディング
    GZIPでも使用されている圧縮方式。データの非重複ブロックを解析して既存のデータは 対応するブロックへのポインタに、それ以外のみを新規に追加する。

提案手法は圧縮方式が増えてもアクセスパターンをシンプルに留めるためにアクセス方法 をAPIとして隠蔽した。 そのため異なるエンコーディングも同一のAPIで保存でき、同一のAPIでも取得できる。

当然ながら一つのエンコーディングで全てのデータに対応することは難しく、論文では使 用すべき圧縮スキームの選び方を以下のようにまとめている。

Figure 10: Decision tree summarizing our results regarding the proper selection of compression scheme.
Figure10

感想

C-storeにおける古典的な圧縮手法がまとまった論文だった。 近代DWHを利用する側では意識することが少ない部分だったためあたらしい 知識も多かった。

作業時間

  • read
    • 26:50
    • 26:50
  • author
    • 33:30
    • 6:40
  • summary
    • 58:20
    • 24:50