HomeData ScienceColumnar Storage & Predicate Pushdown

Columnar Storage & Predicate Pushdown

Interactive 3D simulator: watch a data table laid out row-major vs columnar, see dictionary encoding shrink low-cardinality columns, and see zone-map predicate pushdown skip whole row groups on a range query.

Data Science3DModerate60 FPS
ds-topic-41 ↗ Open standalone

Every column-oriented file format at the heart of the Big Data stack — Parquet and ORC, read by Spark SQL, Hive and Presto on top of HDFS — makes two bets: store each column contiguously so a query only pays for the columns it touches, and keep a small min/max "zone map" per row group so whole chunks of the table can be skipped without ever being read. This simulator renders a real 48-row table as a 3D grid of cells split into row groups, lets you flip between row-major and columnar layout, turn dictionary encoding on or off, change how many row groups the table is split into, and slide a range query on the sorted id column — with live readouts for the compression ratio, the bytes actually scanned, and how many row groups survive the zone-map prune.

⚙ Under the hood

Interactive 3D simulator comparing row-major vs columnar table layout: toggle dictionary encoding, change row-group granularity, and slide a range query to watch zone-map predicate pushdown skip whole row groups.

big datacolumnar storageparquetsparkdictionary encodingpredicate pushdown

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)