Five layers, bottom to top. Each layer only depends on the one below it.
SELECT city, COUNT(*), AVG(age) FROM people WHERE age > 30 GROUP BY city ORDER BY city
Column chunks, row groups, null bitmaps, file I/O
RLE, dictionary, delta, LZ4 compression
Vectorized operators, batches of 1024
Hand-rolled lexer, parser, planner