Archiver Appliance documentation
This is an implementation of an archiver for EPICS control systems that aims to archive millions of PVs.
Here are the main features.
Ability to cluster appliances and to scale by adding appliances to the cluster.
Limited support for redundancy.
Ability to dynamically re-assign PVs to appliances.
Multiple stages and an inbuilt process to move data between the stages.
This supports the ability to use faster storage (which is perhaps limited in size) to improve performance.
Ability to reduce (decimate) the data as it moves into a store.
Focus on data retrieval performance.
A management interface giving you the ability to manage and monitor the system using a browser. This includes
The ability to add PVs to a cluster of appliances using a browser (perhaps by users).
Various metrics to help with capacity planning.
Ability to define system-wide defaults for archiving parameters using policies.
Ability to script the business processes in the appliances using an external process in a language like Python.
Ability to configure various archiving parameters on a per PV basis.
Ability to customize the appliance to suit a different set of requirements. This includes
The ability to use alternate storage technologies that may better suit your needs or perform better in your environment.
The ability to define your own data reduction algorithms and to optionally cache data generated by these algorithms on a per PV basis.
Simple ways to add support for new MIME types in data retrieval responses.
Support for EPICS aliases.
Support for EPICS 7/PVAccess/Structured data.
Support for retrieval of data using CS-Studio, the ArchiveViewer and Matlab.
Limited integration with existing Channel Archiver data sources.
Motivation
Archiving millions of PVs requires a few additional features beyond a simple archiver. In addition to focusing on the EPICS side of the equation, we also need to address the various IT aspects like flexibility, scriptability, and policy enforcement. An integrated multi-head, multi-stage solution was called for; hence the appliance.
EPICS 7
The archiver appliance has built in support for EPICS 7 and archiving
PVs over PVAccess. NTScalars and NTScalarArrays are stored as their
channel access counterparts. For example, PVDoubles will be stored
as DBR_SCALAR_DOUBLEs. This makes it possible to use standard
archive viewers to view NTScalars and NTScalarArrays archived thru
PVAccess. Other PVData types are stored as a bunch of bits using
PVAccess serialization. While this is probably not the most efficient,
it does allow for archiving of arbitrary structured data. There is
support for retrieving of structured data using the RAW and JSON
formats.
Last published on Mar 06, 2026. This project is part of the AccelUtils collaboration.
Operator documentation
Integrator documentation
System admin documentation
- Tutorials
- How-to guides
- Create your policies file
- Deployment
- Tomcat setup
- MySQL setup
- Backing up your config databases
- Channel Archiver integration
- Deployment guides
- Recovering from a lost appliance
- Inspecting the Channel Access ( also PVAccess ) protocol
- Temporarily suspend using a store
- Dynamic (re)-assignment of PVs to appliances
- Customization
- Making simple site-specific content changes
- Using SQLite as a configuration database
- Explanations
- References
Developer documentation