Tiger Data
Postgres, built for time.
Tiger Data (formerly Timescale) is PostgreSQL in the cloud, extended with TimescaleDB for time-series data: rows stamped with a time that never stop arriving. A new electricity price every half hour is exactly that shape.
Hypertables
Tables split into chunks by time, so “give me last week” stays fast.
Continuous aggregates
Summary tables that update themselves as new data arrives.
Compression
Squeezes old data to about a tenth of its size.
Forks
A full, writable copy of the whole database, made instantly.
In Tempo
How Tempo uses Tiger Data
01
Tempo's only database
grid_raw: two years of Elexon market data, plus every new half-hourforecastsanddecisions: 48 rows every half hour- Audit results, replay scratch data and the honesty table
02
Hypertables
- The market data and the decisions log are hypertables
- A query for last week reads only last week's chunk
- Every row records when it became available, so no decision sees the future
03
Continuous aggregates
- Half-hourly, daily and weekly prices, each built on the level below
- They feed the model's features and the dashboard charts
- They update themselves as new prices land
04
Compression
- Two years of data would be about 1.2 GB
- The free tier caps storage at 750 MB
- Compressed, it fits in roughly 120–250 MB
05
Forks power the timing audit
- Click a decision and Tiger forks the live database in about 40 seconds
- Copy-on-write: only the blocks the replays change are copied
- Five replays write into one shared fork, never into live
- The free tier holds only live plus one fork, so our plan of one fork per timeline became one shared fork, identical to the penny
- The fork is deleted afterwards; only the results are kept