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有利。まあ、そりゃそうだ。