jargon

Comparison

One big tablevsWide table

One big table

every attribute anyone might filter on is pre-joined onto the fact, so the analyst's query has no joins in it at all.

Flattening a star into a single wide table so that consumers never join anything. On columnar storage the unused columns cost nothing to read, so the classic objection largely evaporates, and BI tools and self-service users are dramatically less likely to get a wrong answer. What you give up is history and reuse: a change to a dimension attribute means rebuilding the whole table, and every consumer is coupled to one team's idea of which columns matter.

Full entry →

Wide table

the table has four hundred columns, most queries read six of them, and nobody can tell you what the other three hundred and ninety-four are for.

A table with a very large number of columns, which columnar formats make cheap to read from and expensive to understand. The performance argument against width mostly disappeared with column pruning; the comprehension argument did not, and neither did the write cost of rewriting every column when one changes. Width is now a documentation and ownership problem rather than a query problem.

Full entry →

Related comparisons