liveBook · Manning

Columnar data

As explained in Just Use Postgres!

A columnar store is a storage layout that organizes values by column to improve analytical scans over selected columns and large data ranges.

Columnar storage organizes time-series data for analytics over large or historical intervals. When indexed row-store access becomes less efficient, scanning the required partitions can be faster. section 9.7.2

Apply the layout selectively:

  • Keep recent measurements in row storage, where indexes support current operational queries. section 9.7.2
  • Move partitions older than a chosen retention window into columnar storage for historical analysis. section 9.7.2
  • Leave older columnar partitions unindexed when full scans are more efficient than B-tree or BRIN access. section 9.7.2

Recent row data, historical columnar data

A time-series application can retain the most recent three months of measurements in the row store with indexes, then move older partitions to the TimescaleDB columnar store for month- or year-scale analysis. section 9.7.2

How Just Use Postgres! covers it

How deep it goes
Defines partition-level columnar storage and its placement, but defers Hypercore implementation details to official documentation.
Examples
Uses a policy that retains three recent months in indexed row storage and moves older partitions into an unindexed columnar store.
What you can do after
Operate/configure TimescaleDB by separating recent indexed row data from older columnar partitions.
How it connects
Connects columnar storage with TimescaleDB, partitions, row storage, B-tree indexes, BRIN indexes, and full table scans.

Also explained in

Compare how 4 books explain columnar data →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Just Use Postgres!. The section links point to the parts of the book it draws on.