jargon

Comparison

Columnar formatvsRow-oriented format

Columnar format

the query reads three columns out of two hundred and only touches the bytes for those three.

A file layout that stores all the values of one column together rather than storing rows contiguously. Two things follow, and they are why analytics runs on it: you can skip columns entirely, and values of the same type sitting next to each other compress far better. The cost is on the other side — reading or writing a single whole row touches every column's region, which is why these formats are wrong for transactional workloads.

Full entry →

Row-oriented format

the whole record is written together, so appending one event is cheap and reading one field of a billion records is not.

A file layout keeping all of a record's fields adjacent. It is the right shape when records arrive one at a time and are consumed whole — message payloads, change events, ingestion buffers — because a write is an append rather than a rewrite of every column region. Pipelines commonly use a row format at the edge and convert to columnar once data is at rest, and that conversion is often the single largest job in the pipeline.

Full entry →

Related comparisons