Conceptual
Login

Why a Columnar Analytics Engine Does Not Play by These Rules

Everything in this path assumes a row store: rows kept together in pages, with B-tree indexes to find a few of them. Columnar analytics engines such as BigQuery, Snowflake, ClickHouse and DuckDB store each column separately, compress it, and are built to read a lot of it fast, so they often have no B-tree indexes at all and tune instead with partitioning, clustering or sort keys and by selecting fewer columns. Knowing which kind of engine you are on tells you whether 'add an index' is even a sentence that means something there.

Questions this Concept answers

  • Why do such engines often have no B-tree indexes at all?