Materialization Strategies in a Column-Oriented DBMS

カラムストアにおいて、いつ最終的なRowを実体化するかについての
トレードオフをまとめた論文。

  • late materialization という概念をとりいれている。
    • late materialization のメリットは、不必要なjoinを減らせることであるが、デメリットは、2回同じカラムを読み込む必要が出てくること。
    • 但し、pipelineであればキャッシュに乗っているデータを2回触ることになるので、I/O自体が問題になることはないだろうが、Memory Wallが発生するのでearly materialization との間にトレードオフがある。
  • 重要な指標は、Selectivityであり、Selectivityが低ければLate Materialization有利。でなければ、Early Materialization有利。
  • 重要な指標は、Selectivityであり、Selectivityが低ければパイプライン有利。でなければ、パラレル有利。
    • 但し、カラムストア向けの圧縮を有効にすると、Selectivityに関係なくLate有利。まあ、そりゃそうだ。