Skip to main content

How does PI data compression work?

How does PI data compression work?

PI Data Archive uses a swinging door compression algorithm to store only meaningful data changes, dramatically reducing storage while preserving data fidelity.

How Swinging Door Works

  1. When a new value arrives at the snapshot, PI compares it to the last archived value.
  2. It draws imaginary lines ("doors") from the last archived point, angled by the compression deviation (CompDev).
  3. If all intermediate points fit within the doors, they're discarded.
  4. When a point falls outside the doors, the previous point is archived, and the doors reset.

Key Tag Attributes

AttributePurpose
CompDevCompression deviation — how much a value must change to be archived
CompMinMinimum time between archived events (prevents flooding)
CompMaxMaximum time between archived events (ensures periodic archiving)
ExcDevException deviation — filters noise at the interface level
ExcMinMinimum time between exceptions sent to PI
ExcMaxMaximum time between exceptions

Compression vs Exception

  • Exception happens at the interface/data source — filters before data reaches PI.
  • Compression happens at the PI Data Archive — filters what gets permanently stored.
  • Together they form a two-stage noise reduction pipeline.

Best Practices

  • Set CompDev to 1-2% of the tag's typical range.
  • Always set CompMax (e.g., 8 hours) so you see periodic values even for stable signals.
  • Use ExcDev at the interface to reduce network traffic.
  • Don't set CompDev to 0 unless you truly need every value (e.g., event-triggered tags).

Want to ask a follow-up?

PiChat can help with your specific PI System use case. Ask follow-up questions, get code examples, and troubleshoot issues.

Related Questions

Dive Deeper

More Questions

How do I configure PI AF templates?How do I authenticate with PI Web API from Python?What's the difference between snapshot and archive values in PI?What's the difference between PI Vision and PI ProcessBook?How do I build effective PI Vision displays?What are PI Event Frames and how do I use them?How do I write PI AF Analytics expressions?How do I use PI DataLink in Excel?Should I use PI Web API or AF SDK for my application?How do I write data to PI Data Archive?What are the main components of PI System architecture?How do I optimize PI Data Archive performance?How do I set up the PI Interface for OPC DA?How do I use PI Connector for UFL to import file data?How do I set up PI Data Archive high availability with collectives?What are the security best practices for PI System?How do I migrate PI Data Archive to a new server?How do I connect Power BI to PI System?How do I manage units of measure in PI System?What's the best way to learn PI System?How does PI time syntax work?What are good PI tag naming conventions?How do I access PI System data from Java or Linux?How do I set up PI AF notification rules?How do I use batch requests in PI Web API?How do I connect to PI AF Server using AF SDK in C#?How do I write VBA macros in PI ProcessBook?How do I get real-time streaming updates from PI Web API?How do I troubleshoot PI AF Analysis errors?How do I write SQL queries against PI using PI OLEDB?What is PI interface buffering and how do I configure it?How do I search and query PI Event Frames?What is PI Integrator for Business Analytics?How do I fix the 'Point does not exist' error in PI System?What is the difference between PI ACE and AF Analytics?How do I manually enter data into PI Data Archive?What are AF hierarchy design best practices?What is a WebID in PI Web API and how does it work?How do I configure Kerberos authentication for PI System?Can I deploy PI System in the cloud?How do I calculate summaries (average, total, min, max) in PI?What are PI digital states and how do I use them?How do I connect PI System data to Grafana?How do I backup and restore PI Data Archive?How do I create custom symbols in PI Vision?How do I automate PI System tasks with PowerShell?What is AVEVA Connect and how does it relate to PI System?How do I check and handle data quality in PI System?How do I handle pagination in PI Web API responses?How does AVEVA PI System licensing work?How do I plan a PI System upgrade?