April 22, 2026
Rows vs columns, gloves off
Columnar Storage Is Normalization
Is Column Storage Just Table Tidying? The comments go feral
TLDR: A blogger claims column-based storage feels like extreme table cleanup, sparking a brawl over whether design choices and storage choices should ever be equated. Commenters split between praising the analogy as a teaching trick and warning it misleads; others refocus on real-world benefits like avoiding duplicate, hard-to-update data.
A database blogger says column storage—the way some databases group data by column instead of by row—is basically “extreme” table cleanup (called normalization), and the internet did what it does best: argue. The post shows how storing pet names and colors in separate lists can be reimagined as tiny tables keyed by position, and boom, data Twitter meets Stack Overflow.
The top pushback: “You’re mixing ideas!” Commenter immanuwell argues that normalization is a design choice (how you organize tables), while columnar storage is a storage choice (how the data sits on disk). Treat them as the same and you confuse beginners—cue dozens of nodding replies. Meanwhile, orangepanda fires a spicy zinger: is this just a clumsy take on “sixth normal form” (the most extreme version of splitting tables)? Translation: nerd burn.
Others try to build a bridge. Lucasoato says it’s an interesting mental model but not super practical; if you start leaning on the order of data as a stand‑in for an index, you’re breaking the spirit of tidy, flexible tables. Parpfish brings it back to earth with a clear example: real normalization is about deduping changing info, like storing a user’s name once so you don’t update it in 500 posts. For background, folks traded links to normalization and column stores. And yes, someone dropped a cryptic “None-or-many?” that instantly became a meme. Verdict: clever analogy, or misleading mashup? The crowd is gloriously split.
Key Points
- •Row-oriented storage stores complete rows together, enabling fast row retrieval and easy inserts but inefficient attribute-focused scans.
- •Column-oriented storage stores each attribute in separate contiguous vectors, optimizing scans on specific columns but making row reconstruction and updates costlier.
- •The article frames columnar storage as analogous to an extreme form of normalization: each column is a separate table with a primary key and one attribute.
- •Reconstruction of the original wide table is achieved by joining per-attribute tables on a shared key; in columnar arrays, the key is the ordinal position (implicit id).
- •From a SQL engine’s perspective, both layouts implement the same relational abstraction, differing primarily in performance characteristics for various queries.