Columnar Storage
AdvancedAdvanced

Columnar Storage

Keywords

columnar storageParquetORCrow groupcolumn chunkdictionary encodingRLEpredicate pushdownprojection pruningOLAPAsk ChatGPT

Prerequisites

Progress

Sign in to track your progress.

在 data compression 的基礎上,columnar storage 進一步利用同一欄位資料型態一致、值域重複性高的特性,達到遠超 row-oriented 格式的壓縮率。我們會深入探討 Parquet 與 ORC 這兩種主流 column-oriented file format 的設計,包括 row group 如何劃分資料以平衡平行處理與壓縮效率,column chunk 內如何套用 dictionary encoding 與 RLE encoding。課堂上也會講解 predicate pushdown 如何讓查詢引擎在讀取資料前就過濾掉不需要的 row group,以及 projection pruning 如何只讀取查詢所需的欄位,大幅減少 I/O 量。這些技術是現代 OLAP 與大數據系統高效能的關鍵。

Key Concepts

我理解 column-oriented storage 與 row-oriented storage 的差異,以及 columnar storage 為何在分析型查詢(OLAP)中更具優勢

我理解 Parquet 與 ORC 格式的基本結構,包括 row group 如何劃分資料以平衡平行處理與壓縮效率

我理解 column chunk 內如何利用 dictionary encoding 與 RLE 針對同型態資料達到更高的壓縮率

我理解 predicate pushdown 如何讓查詢引擎在讀取資料前就過濾掉不需要的 row group,減少 I/O 量

我理解 projection pruning 如何只讀取查詢所需的欄位,避免讀取不相關的 column chunk

Recommended Resources

Test Your Understanding