A historian database, a process historian, is a specialized database built to capture, compress, and store time-stamped process data from a plant: sensor readings, tag values, setpoints, and statuses recorded second by second, for years. It is engineered for one shape of data, a value, a timestamp, and a quality flag, repeated billions of times, which is exactly the shape ordinary relational databases handle badly.
Every plant that runs a SCADA or DCS system generates a firehose of measurements. The historian is the memory that catches it. Without one, the plant knows what is happening right now and forgets it a moment later; with one, it can answer "what did that reactor do at 3 a.m. last Tuesday" three years after the fact.
What is a historian for?
Turning a fast, disposable stream of readings into a durable, queryable record. A control system is built to act on the present: a PLC reads a temperature, closes a loop, and overwrites that value milliseconds later. It has almost no memory. But nearly everything a plant wants to do beyond the immediate, troubleshoot an upset, prove a batch ran in spec, trend a slow degradation, optimize yield, requires history. The historian's whole job is to record every tag continuously and hand it back on demand, whether you ask for one point or a hundred million.
The scale is the challenge. A mid-sized plant might have tens of thousands of tags, each sampled every second or faster. That is billions of rows a year. Store that naively and you drown in storage cost and grind every query to a halt. The historian earns its keep by storing that flood efficiently and still returning a week-long trend across thousands of tags in seconds. It is a database tuned so hard for one job that it stops looking like a general database at all.
There is a second reason the historian is its own category: the questions people ask of process data are almost always about time. Not "how many of these are there" but "what was this value doing between 2 and 4 a.m.," "show me every time this tag crossed that limit last quarter," "line these three signals up on the same clock." Those are time-range and time-alignment questions, and a historian's storage and indexing are built around exactly them. A transactional database can answer them, but slowly and awkwardly, because it was designed for a different shape of question entirely.
Why do relational databases struggle with this data?
Because a normal relational database is built for transactions, not for a nonstop torrent of timestamped points. Relational systems shine at inserting, updating, and joining discrete records, an order, a customer, an invoice, with strong consistency guarantees. Point them at a plant's tag stream and two things break. First, write volume: inserting tens of thousands of rows every second, forever, overwhelms an engine designed for far lower transaction rates. Second, storage: a relational table stores each reading in full, uncompressed, so the data volume explodes.
The gap is not small. Practitioners report that the same process data stored relationally can be one to three orders of magnitude larger than in a compression-optimized historian, a difference often cited in the range of roughly 1,000-to-1 up to several thousand-to-1. A historian's archive that fits in a gigabyte could balloon into terabytes as raw relational rows. That is why the industry built a separate category of database instead of forcing the job onto the transactional systems that run everything else.
How does a historian compress so much data?
By storing the shape of a signal instead of every point on it. The classic technique is deadband compression and its best-known form is the swinging door algorithm. The idea is intuitive: if a temperature is holding dead steady, you do not need a reading every second to reconstruct it, you need to know it was steady, and when that changed. Swinging door fits a straight line through incoming points and keeps extending it as long as every new reading stays within a set tolerance band. The moment a reading falls outside the band, it closes the segment, stores just the endpoints, and starts a new line. You reconstruct the trend by drawing between the stored points.
The savings are large and tunable. A tight deadband keeps more fidelity and stores more points; a loose one stores fewer. On typical process data, deadband and swinging-door methods routinely cut stored volume by around 90% or more while preserving the trend a person or an analytic actually needs (U.S. patent 7,496,590 on deadband filtering of time-series data). The one caution: compression is lossy, so a deadband set too loose can smooth away a short spike you later wish you had captured. Setting deadbands is a real engineering decision, not a default to accept blindly.
How is a historian different from a modern time-series database?
They solve the same problem from two directions. A classic process historian is a mature, plant-floor product: deep native connectivity to control systems, built-in deadband compression, batch and asset context, and decades of operational track record. It is proven, but often proprietary, tag-licensed, and awkward to reach from the general IT and analytics tools the rest of the business uses.
A modern time-series database comes from the software world: open interfaces, familiar query languages, easy integration with dashboards and data science, and horizontal scaling. It handles the same value-timestamp-quality shape efficiently, but usually does not ship with native OT protocol drivers or the process-specific features a historian has accumulated. The practical trend is convergence, plants keep the historian as the system of record on the floor while replicating or streaming its data into open time-series stores and analytics platforms where the wider organization can actually use it. See contextualizing OT data for why raw tags need context to become useful, and building a production dashboard for what people do with it once it lands.
What can you do with historian data?
Historian data is the fuel for most of what a plant wants above the control layer:
- Troubleshooting: replay exactly what every tag did before and during an upset, instead of arguing from memory.
- Compliance and batch records: prove a batch held its critical parameters, with a time-stamped record auditors accept.
- Trending and dashboards: watch slow drifts, a fouling exchanger, a creeping motor current, that no single snapshot reveals.
- Analytics and optimization: feed manufacturing analytics and yield or energy models with clean, aligned history.
- Predictive maintenance: supply the training data for anomaly detection and failure prediction, which are only as good as the history behind them.
But a historian is deliberately narrow: it stores machine signals, not the human and paperwork context around them. It knows a line slowed at 2:14; it does not know the operator's reason, the quality hold, or the work order. Joining historian tags to that context, read-only, without touching the control systems, is exactly where an operational layer like Harmony sits: it reads the signals the plant already records, computes true OEE and machine monitoring from source data, and ties them to the reasons and paperwork so the record answers business questions, not just engineering ones. No rip-and-replace (connected systems module).
How do you set up a historian well?
Most of a historian's long-term value is decided at configuration, and some of it cannot be recovered later.
- Decide what to record before you need it. You cannot query history you never collected. Err toward capturing more tags than you think you need; adding a tag later does not backfill the missing years.
- Set deadbands deliberately. Tune compression per tag to the signal's real behavior. Too tight wastes storage; too loose smooths away events. Critical quality and safety tags deserve tighter bands than a slow ambient reading.
- Get timestamps and quality right. Every value needs an accurate time and a quality flag. Clock drift and unlabeled bad data quietly poison every downstream trend and analytic.
- Plan retention in tiers. Keep recent data at full resolution and older data thinned or summarized, so cost stays sane without losing the long view you built the historian to have.
- Design the read-out path. Decide early how dashboards, analytics, and operational tools reach the data, read-only, never through the control network, so the historian feeds the whole plant instead of becoming another silo.
Numbers worth knowing
A few figures put the historian's job in perspective.
- ~90% or more reduction in stored volume is typical from deadband and swinging-door compression on process data, while preserving the usable trend (U.S. patent 7,496,590).
- Roughly 1,000-to-1 up to several thousand-to-1: the storage penalty practitioners report for holding the same process data in a raw relational database instead of a compressed historian.
- Value, timestamp, quality: the three-part shape of every historian record, repeated billions of times a year at plant scale.
- Compression is lossy: a deadband set too loose can erase short transients, so band settings are an engineering decision, not a default.
- Tens of thousands of tags sampled at second or sub-second rates is ordinary for a mid-sized plant, the write load that breaks transactional databases.
A historian is the plant's long memory, and it is only as valuable as what you chose to record and how well you can read it back. Capture broadly, compress deliberately, and open the read-out path, then the years of data you have been quietly banking become something people actually use. For the systems feeding it, see DCS and IIoT; for the picture it helps build, see the smart factory stack.