SCADA Database Growing Too Fast: 4 Critical Fixes

Share:
Instrumentation
SCADA Database Growing Too Fast: 4 Critical Fixes

A historian that once fit comfortably on a single drive can quietly balloon into millions of records a week, slowing trends, delaying alarms, and pushing query times from seconds into minutes.

A SCADA Database Growing Too Fast is almost always a configuration problem rather than a genuine data volume problem, and it responds well to a handful of targeted fixes.

SCADA Database Growing Too Fast Historian Compression Exception Reporting Data Retention

A SCADA Database Growing Too Fast usually traces back to over logging, unneeded tags, missing retention policy, or alarm flooding, and every one of those four causes has a practical, well understood fix.

A process historian stores every tag value it is told to store, at whatever interval it is told to store it, with no built in sense of whether that value actually matters.

Left unmanaged, that simple behavior is exactly what turns a modest plant into a multi million record archive within a matter of weeks rather than years.
SCADA Database Growing Too Fast
Advertisement

4 Causes Behind a SCADA Database Growing Too Fast

1
Fixed Interval Over Logging
Tags stored every second regardless of whether the underlying value actually changed, even for a slow moving temperature or level signal.
2
Unneeded Tags Logged
Internal calculation tags, diagnostic bits, and test variables that were logged once for troubleshooting and simply never turned back off.
3
No Retention Strategy
Data accumulates indefinitely because nobody defined how long raw values genuinely need to stay before they can be summarized or purged.
4
Alarm and Event Flooding
A single chattering signal near its alarm limit can generate hundreds of event records in just a few minutes.

Each of these causes is individually manageable, which is exactly why a SCADA Database Growing Too Fast is rarely a sign that more storage hardware is the real answer.

Advertisement

How Exception Reporting and Compression Cut Storage

Exception Deviation
Sends a value from the source only once it changes by more than a set amount
Compression Deviation
Discards points that fall inside a straight line tolerance between stored values
Compression Max Time
Forces a value to record periodically even when the signal stays perfectly flat
Archive Tiering
Moves aging data from a fast current archive into slower long term storage

These two filters work in sequence, exception reporting trims data before it ever leaves the source device, and compression trims what is left before it commits to the historian archive, which is exactly how a platform like the PI Data Archive keeps storage growth reasonable.

Neither filter deletes information that actually matters, both are built specifically to preserve the shape of a trend while discarding the countless repeated or insignificant points sitting between genuine changes in value.

A signal that never moves, a tank sitting at a steady level for a full shift, is exactly the case where these settings save the most storage, since a naive fixed interval logger would otherwise write the same unchanged value thousands of times over.

Symptoms Worth Recognizing Early

SymptomWhat Is Actually Happening
Slow trend and screen updatesQueries scan far more raw rows than the display actually needs
Delayed alarm and event listsThe event table has grown large enough that indexing can no longer keep pace
High disk I/O during reportsReport queries pull months of uncompressed history instead of summarized data
Backup jobs taking far longerBackup size has crept up in step with unmanaged raw data growth

None of these symptoms show up overnight, which is precisely why the underlying growth problem so often gets noticed only after performance has already degraded noticeably.

Tip
A reasonable starting point for compression deviation is a small percentage of an instrument's calibrated span, commonly cited example ranges fall around 0.1 to 1 percent, tightened for critical loops and relaxed for slow or noisy signals. The right number always depends on the specific instrument, its noise floor, and how the data will actually be used downstream.

Raw Storage vs a Tiered Retention Policy

Tiered Retention

Keeps recent raw data fast to query while rolling older values into summarized or archived storage, controlling long term growth.

Keep Everything Raw

Simple to configure at first, but storage, backup time, and query latency all climb together with no natural ceiling.

Did You Know
A single tag logged every second with no filtering generates roughly 86,400 raw values a day on its own. Applying typical exception and compression settings often cuts that down to a small fraction of the raw total, though the actual reduction is highly process dependent and should never be quoted as a fixed universal ratio.

Auditing Tags Before the Growth Problem Gets Worse

1
List every tag actively being logged and confirm someone can explain why each one is stored today.
2
Disable logging on diagnostic and test tags that were only ever needed during a past commissioning effort.
3
Match each tag's scan and logging interval to how quickly the underlying process signal genuinely moves.
4
Review exception and compression deviation settings against actual instrument span rather than leaving factory defaults.
5
Fix chattering alarms at the source with proper hysteresis instead of letting the event log absorb the noise.

A quarterly tag audit costs very little time compared with the alternative, which is discovering the growth problem only once queries have already slowed down across the whole system.

Assigning clear ownership for that audit, rather than leaving it as an unassigned task everyone assumes someone else is handling, is often the single change that makes the habit actually stick.

Building a Monitoring Habit Around Storage Growth

Trending database size and disk usage over months, rather than only checking it when something already feels slow, is what turns a surprise outage into a planned maintenance task.

A simple weekly log of total archive size, free disk space, and average query response time reveals a growth trend long before it becomes a genuine capacity problem.

Pairing that trend with a record of which tags were added or changed lets a team connect a sudden growth spike back to its actual cause, rather than guessing at it months later.

Reviewing this trend alongside the quarterly tag audit closes the loop, since the audit fixes known issues while the trend catches anything new before it grows large enough to matter.

Advertisement

A Practical Checklist for Controlling Historian Growth

1
Define a written retention policy stating how long raw data, hourly averages, and daily summaries each need to be kept.
2
Index historian tables on timestamp and tag identity so large queries stop forcing a full table scan.
3
Move aging data into a secondary or cold storage tier on a fixed, scheduled basis rather than reactively.
4
Reassess storage and memory sizing periodically against actual sustained write and query load, not the original design estimate.

Any regulated environment tracking raw retention requirements should apply that policy on top of these fixes rather than instead of them, since compliance retention and performance tuning solve two genuinely different problems.

How Common Historian Platforms Handle Growth

OSIsoft PI System
Uses exception and compression deviation settings plus tiered PI Archive files
AVEVA Historian
Applies configurable storage modes and a tiered storage subsystem for aging data
GE Proficy Historian
Handles filtering at the collector level before data ever reaches the archive
Ignition Tag History
Offers per tag deadband settings alongside partitioned history tables

Every one of these platforms gives an engineer the tools to control growth, the tools simply sit unused far more often than they should on a system that was commissioned in a hurry and never revisited.

Swapping platforms rarely solves a growth problem on its own, since the same tag left logging every second with no deadband will overwhelm a new historian just as quickly as the old one.

Hardware Sizing: What Actually Needs to Scale

Once logging is properly filtered, the remaining hardware conversation becomes much simpler, since the system is no longer fighting an unbounded and unnecessary data stream.

1
Move active archive files onto solid state storage where query latency genuinely matters to operators.
2
Size available memory for the largest realistic trend or report query, not just for routine daily use.
3
Partition very large tables by date range so a query against recent data never has to scan years of history.
4
Monitor CPU and disk I/O trends over months, not just during a single slow afternoon someone happened to notice.

A system sized correctly for its filtered, well managed data volume tends to stay comfortably ahead of demand for years, while one sized around raw unfiltered logging is fighting a losing battle from the very first day it goes live.

Documenting the assumptions behind a hardware sizing decision, expected tag count, expected logging rate, expected retention window, gives the next engineer something concrete to check when growth eventually does outpace the original plan.

Regulated Environments and Raw Data Retention

A pharmaceutical, food, or other regulated plant often carries a formal requirement to keep certain raw records for a defined number of years, which changes how aggressively compression and purging can be applied.

In that setting, the fix usually is not less filtering, it is a clearer split between operational data tuned for performance and compliance data retained exactly as required, stored and managed as two separate concerns.

A retention policy written without checking applicable regulatory requirements first is a policy that will eventually need to be rewritten under pressure, so that check belongs at the very start of the project rather than at the end.

Involving the quality or compliance team early, before storage settings are finalized, avoids the awkward situation of discovering months later that a compression setting quietly discarded a value an auditor now needs to see during a review.

Watch: OSIsoft Exception and Compression Quick Summary

Questions Engineers Ask About a Growing Historian

Is more storage hardware the right fix for fast historian growth?
Rarely, since most growth traces back to logging configuration rather than a genuine need for extra raw capacity.
What is the difference between exception reporting and compression?
Exception reporting filters data at the source device, while compression filters it again just before it reaches the archive.
How often should a tag logging audit happen?
A quarterly review is a reasonable starting cadence, catching forgotten diagnostic tags before they accumulate real storage cost.
Does compression risk losing important process data?
Set correctly against instrument span and noise floor, compression discards only insignificant noise, not genuine trend changes worth keeping and trusting.
Why does a chattering alarm affect database size?
Every state change writes a new event record, so a signal oscillating near its limit can flood the event log quickly.
Should raw data ever be deleted outright?
Usually not immediately, tiered retention summarizing or archiving old data is safer than an outright deletion policy.

Related Articles on This Site

External References

Advertisement

What We Learn Today

  • A SCADA Database Growing Too Fast almost always traces back to over logging, unneeded tags, missing retention, or alarm flooding.
  • Exception reporting and compression work together, filtering data at the source and again just before it reaches the archive.
  • A written retention policy with tiered storage controls long term growth far better than deleting data outright or adding more disk space.
I hope you like above blog. There is no cost associated in sharing the article in your social media. Thanks for reading!! Happy Learning!!

Leave a Reply

Your email address will not be published. Required fields are marked *