Docs and articles

R-80

Technology

Tessera DB Tutorial: Bucket and Aggregate Time-Series Data with Zero Copies

Every fact already carries valid time and transaction time, so any set of records is also an ordered series — bucketed and aggregated in place, no separate metrics store.

PAR2 Labs

August 29, 2026

3 min

Tessera DB Tutorial: Bucket and Aggregate Time-Series Data with Zero Copies

Time-series analytics over your existing data. The timestamps are already on every record, so Tessera projects them into buckets without duplicating anything into a separate metrics database.

01

Step 1: Choose the time axis

Point the time-series view at a set of records and pick which clock to read — valid time (when the reading was true) or transaction time (when it was recorded) — depending on what "when" means for your question.

02

Step 2: Bucket into intervals

Group readings into fixed windows — hourly, for instance — and choose how to combine the values in each window: average, sum, min, max, count, first, or last. The result is one value per bucket, ready to plot.

03

Step 3: Downsample

Downsampling is just bucketing with a wider window. Roll per-minute data up to daily averages, daily highs, and daily lows to get an at-a-glance view of a long series.

Downsampling is just bucketing with a wider window.

04

Step 4: Rates and moving averages

Derive a rate per interval, smooth a noisy series with a moving average over a chosen number of buckets, or compute a rolling window aggregate such as a one-hour rolling max.

05

Step 5: Gap filling

When a sensor goes offline, its buckets are empty. Choose how to fill the gaps — leave them null, carry the previous value forward, interpolate linearly, or substitute a constant — so downstream charts and calculations stay well-behaved.

06

Step 6: Continuous aggregates

For dashboards that read the same rollups repeatedly, cache them as a continuous aggregate. It computes once and, on refresh, only recomputes the buckets past its high-water mark — expensive aggregations become cheap to serve without recomputing history.

Key Takeaways

01

Chosen whether the series reads valid time or transaction time.

02

Bucketed readings into fixed windows, combined with average, sum, min, max, count, first or last.

03

Derived rates, moving averages and rolling windows, and filled the gaps left by offline sensors.

04

Cached repeated rollups as a continuous aggregate that only recomputes buckets past its high-water mark.


PAR2 Labs · Technology

Talk to us

One copy of the data, five ways to read it.