列式與列欄式資料儲存

資料倉儲概念

Aaren Stubberfield

Data Scientist

為什麼重要?

  • 讓查詢更快
  • 資料倉儲表用欄式最適合分析工作負載
資料倉儲概念

電腦儲存基礎

  • 電腦會「以區塊儲存資料」。
  • 取資料時只讀取需要的區塊。
  • 讀取較少區塊可加快整體速度。

硬碟示意圖:以多個區塊儲存

資料倉儲概念

健康資料表範例

  • CDC(Centers for Disease Control and Prevention)
  • 多季的流感年齡分組住院資料
SEASON AGE GROUP HOSPITALIZATION PERCENTAGE
2019 0-17 yr 13.9%
2019 18-49 yr 22.5%
2019 50+ yr 63.7%
2020 0-17 yr 3.9%
2020 18-49 yr 18.1%
2020 50+ yr 78%
2021 0-17 yr 15.6%
2021 18-49 yr 23.3%
2021 50+ yr 61.1%
資料倉儲概念

列式儲存範例

SEASON AGE GROUP HOSPITALIZATION PERCENTAGE
2019 0-17 yr 13.9%
2019 18-49 yr 22.5%
2019 50+ yr 63.7%
2020 0-17 yr 3.9%
2020 18-49 yr 18.1%
2020 50+ yr 78%
2021 0-17 yr 15.6%
2021 18-49 yr 23.3%
2021 50+ yr 61.1%

硬碟示意圖:每個區塊存一整列

資料倉儲概念

欄式儲存範例

SEASON AGE GROUP HOSPITALIZATION PERCENTAGE
2019 0-17 yr 13.9%
2019 18-49 yr 22.5%
2019 50+ yr 63.7%
2020 0-17 yr 3.9%
2020 18-49 yr 18.1%
2020 50+ yr 78%
2021 0-17 yr 15.6%
2021 18-49 yr 23.3%
2021 50+ yr 61.1%

硬碟示意圖:每個區塊存一個欄位

資料倉儲概念

重點整理

列式儲存

  • 同一列資料存放在同一區塊
  • 適合交易型工作負載

欄式儲存

  • 同一欄資料存放在同一區塊
  • 適合分析型工作負載
  • 壓縮效果更佳
資料倉儲概念

一起來練習吧!

資料倉儲概念

Preparing Video For Download...