Skip to content
Toleron
Manufacturing Datatime seriesstoragedata retention

Tiered time series that never average the peak away

A year-long chart should still be able to find a forty-millisecond transient. Automatic tier selection with true min/max envelopes is how.

Toleron Engineering · 26 July 2026 · 5 min read

1H24H7D30DILLUSTRATION

Storing kilohertz data forever is not the hard part; querying it usefully is. A chart of last year cannot scan a billion rows, and a chart that averages a minute into one point hides the very transient the engineer opened it to find. Toleron's storage answers both with four tiers and one rule.

Four tiers

TierResolutionRole
RawNativeRecent full-rate samples from every source
1 s aggregate1 sContinuous aggregate of raw
1 min aggregate1 minHierarchical aggregate of the 1 s tier — long-range history
Recording archiveNativeFinalised recordings; permanent, never auto-dropped

A query names a signal, a range and a bucket size; the service picks the tier whose resolution fits and never rescans raw rows for a long range. Retention per tier is configuration: controller history is kept long-term by policy, kilohertz sensor streams are kept short unless a recording promotes them to the permanent archive.

One rule

Every returned point carries a true minimum and maximum, not just an average. The chart draws the envelope. A spindle-load spike that lasted forty milliseconds is a visible needle at the one-minute tier, and drag-zoom refines server-side down to the raw rows behind it. This is the difference between a chart that is pretty and one that is useful.

Convergence, not migration

Storage layout, aggregates, compression and retention policies are converged idempotently at every start of the platform rather than by a one-off migration that might not have run. A redeploy repairs drift instead of accumulating it, and the write path is tuned for sustained kilohertz ingest without dropped rows.

Next step

Bring intelligence to your machines.

Connect existing CNC equipment without replacing the machine or the controller. We start with one machine, real data and an honest acceptance run.