Type: explanation · Last reviewed: 2026-07-12
A plant produces a continuous stream of sensor readings; someone later needs to ask "what did this value do last Tuesday?" and get an answer in milliseconds, for years of history, without a data warehouse in between. A historian is the system that captures that stream and serves it back. Pulse Historian is that system; its storage engine — the part that actually holds the bytes — is Pulse Chronos, a purpose-built binary time-series database.
This page follows a single sample from the sensor to the answer. For the addressing model it assumes (organization / site / unit / grid), read Data model & scope first.
clarity.storage.seal.hot_days, default 0 — everything before today) into a zstd .bin.czst cold tier. Recent history stays instantly queryable; older history shrinks on disk.The trade is always the same — how hard do you insist the bytes are on disk right now versus how fast do you want the call to return?
| Mode | Endpoint | Behavior | Use when |
|---|---|---|---|
| Normal | /exactapi/write |
fsync on each batch | correctness-critical, low rate |
| Fast | /exactapi/write_fast |
mmap, no fsync (page-cache durability) | bulk loads, 100k+ tags |
| Buffered | /exactapi/write_buffered |
lock-free queue, background flush | highest-rate live ingest |
The shipped
clarity.propertiesdefaultsclarity.ingest.write.methodto fast. Exact flush intervals, buffer sizes, and durability semantics are in Storage engine.
Using the canonical dataset (acme-power / plant-1 / boiler-2 / default_grid):
idfan_vibration written today lands in the hot mmap grid at data/acme-power/plant-1/boiler-2/default_grid/ and is queryable immediately.…/<day>.bin.czst (zstd).The actual write/query request and response JSON is on Data model & scope § Worked example; the on-disk cost model is in Capacity planning.
The measured numbers (and honest caveats) are in the Performance brief; the engineering detail is in Benchmarks.
collection · mmap pool · cold tier · push-down op · write buffer · Pulse Chronos