HomeData ScienceColumnar Storage & Predicate Pushdown (2D)

Columnar Storage & Predicate Pushdown (2D)

Interactive 2D simulator: watch a data table laid out row-major vs columnar on a live grid, see dictionary encoding shrink low-cardinality columns in a bytes chart, and see zone-map predicate pushdown gray out whole row groups on a range query.

Data Science2DModerate60 FPS📱 Mobile-adapted⇄ 3D version
2d-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 2D simulator renders the real table directly as a pannable, zoomable grid split into row groups, lets you flip between row-major and columnar layout, turn dictionary encoding on or off, resize the table and its row-group split, slide a range query on the sorted id column, and play back the actual cell-by-cell scan order — with a live bytes-per-column chart and readouts for compression ratio, bytes scanned, and row groups pruned.

⚙ Under the hood

2D pannable grid of a real row/column table: flip row-major vs columnar layout, toggle dictionary encoding, resize the table and its row-group split, drag a range query, and play back the actual cell-by-cell scan order while a live bar chart shows compressed bytes per column — the same zone-map predicate-pushdown math as the geometric 3D version.

big datacolumnar storageparquetsparkdictionary encodingpredicate pushdown

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)