ブログ@nnaka2992

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

列指向DBMSにおけるデータを提案した論文を読みました

この記事の趣旨

"MonetDB/X100: Hyper-Pipelining Query Execution"という2005年に発表された、 列指向DBMSを提案した論文を読んでいきます。

分析ワークロード向けRDBMSにおける初期実装であるMonetDBを扱った論文で、提案時期が 2005年と古くはあるものの現代のDWHの礎となる内容です。

MonetDB/X100: Hyper-Pipelining Query Execution

Peter Boncz, Marcin Zukowski, Niels Nes

著者について

Peter Boncz、Marcin Zukowski、Niels Nseのグループによる論文。 いずれの著者も機械学習や分析におけるDBMSについて研究している。

問題意識

2005年当時のDBMSは他のアプリケーションに比べ、IPCが低くなる傾向にあった。 原因はほとんどのDBMSコンパイラの最適化を阻害する実装だったためである。 これはRDBMSが実装された当時に比べCPUやコンパイラが発達したためで、この論文では C-store DBMSであるMonetDBと従来のR-store DBMSをそれぞれTPC-Hで評価を行い、 パフォーマンス阻害要件と最適化方法を提案している。

手法

CPUによるIF文の処理方法はDBMSにとっては選択性が低く、そういった実行は予測不可能 でありクエリ実行を著しく劣らせた。 提案手法ではMonetDB/X100として効率的なシーケンシャルアクセスに向けた、C-storeス トレージとクエリエンジンを実装した。 RAMは提案手法のデータアクセスと同様の方法で圧縮して保存し、Cacheでは なベクトル化された処理にもとづくパイプライン実装を使用した。 CPUにおいてもベクトル型における式計算を提供し、コンパイラが高効率な処 理を生成した。

結果として提案手法は従来のDBMS実行に比べTPC-Hで優れた性能をしめした。

作業時間

  • read
    • 21:32
    • 21:32
  • author
    • 29:00
    • 7:28
  • summary
    • 56:20
    • 27:20

感想

2005年と古く、またVolcano-likeなど知らない概念も登場した。

提案内容としては現代のDWHが採用しているものだった。

論文外の感想

今回本文を読む時間を大幅に短くしてみたが、それにともない理解度も低下した気がする。

やっぱり30分以上で読むのがよさそう。