One long, skinny table of things that happened, surrounded by short, wide tables describing the nouns involved.
A receipt spike on a shop counter, plus a folder of customer cards and a folder of product cards. The spike grows forever; the folders stay thin and describe who and what.
It's the model every BI tool, every optimiser and every analyst already expects — fighting it means fighting all three.
A star schema splits the warehouse into facts and dimensions. A fact table holds events — one row per order line, per click, per payment — with foreign keys and numeric measures, and it is the table that grows forever. Dimension tables hold the descriptive nouns — customer, product, store, date — and stay small enough to sit in memory. Every analytical question then has the same shape: filter and group by dimension attributes, aggregate fact measures. The engine broadcasts the small dimensions to every worker and scans the fact table once. That single, predictable shape is why the star schema has outlived every framework built on top of it.
A star schema has one fact table of events — thin rows, foreign keys and numeric measures, billions of rows — surrounded by small dimension tables that describe the entities. Queries filter and group on dimension attributes and aggregate fact measures. It is denormalised on purpose: dimensions are small enough that repeating a country name is cheaper than the join you avoid.
What is STAR schema | Star vs Snowflake Schema | Fact vs Dimension Table — codebasics, 6:59