Columnstore index
An index that stores data column-wise instead of row-wise, optimized for analytical queries that scan and aggregate single columns across millions of rows. SQL Server's answer to column stores; it gives enormous compression and "batch mode" execution.
Idea: OLAP queries often read only a few columns but many rows (SUM over "amount"). Row storage then forces whole rows into memory; column storage reads only the relevant columns, packed tightly → far less I/O and high compression (similar values next to each other). SQL Server also runs "batch mode" (1000 rows at a time) on a columnstore → several times faster aggregation. Trade-off: bad for point lookups and single-row changes (OLTP) → used for warehousing/reporting, often as a complementary index. The same principle drives Parquet, ClickHouse, and all modern analytics stores. Classic contrast: row storage for transactions, column storage for analytics.