Historical Access is the OPC UA service set that provides a standardized interface for querying archived time-series data and historical events from a server's historian database. It extends beyond real-time Data Access by defining services for reading raw, processed, and aggregated data, as well as historical Alarms and Conditions, enabling trend analysis and forensic diagnostics.
Glossary
Historical Access

What is Historical Access?
Historical Access defines the standardized OPC UA services enabling clients to retrieve, aggregate, and analyze time-series data and event logs stored in a server's historian database.
The service set defines specific methods for a Client to browse the historical configuration of an Address Space, read modified values, and request aggregated summaries like averages or minima over defined time intervals. This decouples data analysis from proprietary historian APIs, allowing any compliant client to perform uniform, vendor-neutral audits of past process behavior.
Core Capabilities of Historical Access
The OPC UA Historical Access service set provides standardized mechanisms for Clients to discover, retrieve, aggregate, and analyze time-series data and event logs stored in a Server's historian database.
Raw Data Retrieval
The ReadRaw service allows a Client to request unprocessed, timestamped values from a historian for a specified time domain. The Server returns a sequence of HistoryData values in chronological order, preserving the original sampling fidelity.
- Bounded requests: Clients specify
startTimeandendTimeto limit the query scope. - Return bounds: The Server can return bounding values outside the requested interval to provide context.
- Max return values: Clients can cap the total number of returned samples to prevent memory exhaustion.
- Continuation points: For large datasets, the Server returns a continuation point enabling paginated retrieval.
Aggregate Functions
The ReadProcessed service computes statistical aggregates over raw historian data, offloading computation from the Client to the Server. This dramatically reduces network payload when only summary insights are required.
- Standard aggregates: Includes Interpolative Bounding Values, Average, TimeAverage, Minimum, Maximum, Range, Count, and Standard Deviation.
- Resample interval: Clients define a processing interval over which each aggregate is calculated.
- Stepped interpolation: The Server treats data as a stepped function between samples for accurate time-weighted calculations.
- Annotation support: Annotations indicating data quality can be included alongside computed aggregates.
Modified Value Tracking
The ReadModified service retrieves historical values along with metadata indicating when and by whom a value was manually overwritten. This is critical for regulated industries requiring complete audit trails.
- ModificationInfo: Each returned value includes
ModificationTimeandUserNameof the operator who made the change. - Original value preservation: The Server retains the original value before modification for compliance.
- Sequential history: Both original and modified values are returned in chronological order.
- Audit integrity: Supports 21 CFR Part 11 and similar regulatory requirements for electronic records.
Event History Retrieval
The ReadEvent service allows Clients to query historical event logs stored by the Server, filtering by event type, severity, time range, and source Node. This enables forensic analysis of past alarms and system conditions.
- Event filter: Clients submit an EventFilter defining the selection criteria and the event fields to return.
- Time domain: Queries are bounded by
startTimeandendTime. - Event types: Supports AlarmCondition, SystemEvent, AuditEvent, and custom event types.
- Ordered delivery: Events are returned in chronological order based on their timestamp.
Data Annotation
The UpdateAnnotations service enables Clients to attach human-readable comments to specific historical data points. Annotations provide operational context that raw timestamps and values cannot convey.
- Annotation message: A free-text string explaining the significance of a data point.
- User identification: The Server records the
UserNameassociated with the annotation. - Timestamp association: Annotations are linked to a specific value timestamp.
- Retrieval integration: Annotations are returned alongside raw data when requested via ReadRaw with annotation flags enabled.
History Continuation Points
For queries that return large datasets exceeding a single response limit, the Server issues an opaque ContinuationPoint. The Client passes this token in a subsequent request to retrieve the next batch of results.
- Session affinity: Continuation points are valid only within the Session that created them.
- Timeout management: Unused continuation points are released after a Server-defined timeout.
- Release service: Clients should call ReleaseContinuationPoints to free Server resources when pagination is abandoned.
- Stateless pagination: Enables efficient retrieval of multi-gigabyte historian archives without overwhelming Client memory.
Frequently Asked Questions
Clear answers to the most common questions about retrieving, analyzing, and managing time-series data and event logs using the OPC UA Historical Access service set.
OPC UA Historical Access (HA) is a standardized service set that defines how a Client retrieves, aggregates, and analyzes time-series data and event logs stored in a Server's historian database. Unlike the real-time Data Access model which provides only the current value, HA enables clients to query the past. The mechanism works by the Client sending a HistoryRead request to a Node that has Historical Access configured in its attributes. The Server then processes this request against its underlying data store—which could be a relational database, a process historian, or a circular buffer—and returns a structured response containing the requested data points, modified values, or events within a specified time domain. This decouples the client's analytical needs from the server's specific storage implementation, ensuring interoperability across different vendor historians.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Historical Access vs. Data Access
A technical comparison of the OPC UA service sets for retrieving real-time process values versus analyzing aggregated time-series data from a historian database.
| Feature | Historical Access | Data Access |
|---|---|---|
Primary Function | Retrieve, aggregate, and analyze stored time-series data and event logs | Read, write, and monitor the current value and status of live process variables |
Data Temporal Context | Past (historical records with timestamps) | Present (current value with source timestamp) |
Core Service Methods | HistoryRead, HistoryUpdate, HistoryEvent | Read, Write, Publish |
Supports Aggregation Functions | ||
Raw Data Retrieval | ||
Event History Querying | ||
Monitored Item Subscriptions | ||
Data Modification Capability | Insert, replace, update, or delete historical records | Overwrite current value of a Variable Node |
Related Terms
Historical Access relies on a constellation of OPC UA services and data models. These related concepts define how time-series data is structured, filtered, and delivered to analytical clients.
Data Access
The foundational OPC UA service set for interacting with the current value and status of Variable Nodes. While Historical Access deals with stored time-series data, Data Access provides the real-time snapshot that is often the source being recorded. It defines the Read, Write, and MonitoredItem primitives for live process variables like temperature, pressure, and speed.
Alarms and Conditions
A stateful eventing model that complements Historical Access by providing the audit trail of abnormal situations. While Historical Access stores time-series values, Alarms and Conditions record state transitions—such as an over-temperature alarm becoming active, being acknowledged by an operator, and eventually clearing. This event history is queried via the HistoricalEvents service.
Aggregate Functions
Server-side computation that processes raw historical data before delivery to a Client. Standard OPC UA aggregates include:
- Interpolative: Estimates values between stored samples
- Average: Mean value over a processing interval
- TimeAverage: Time-weighted mean accounting for irregular sampling
- Minimum/Maximum: Bounds within a time domain
- Count: Number of raw samples in the interval
- PercentGood: Quality metric for data completeness
Monitored Item
A client-defined entity within a Subscription that specifies which Node attribute to watch. For historical contexts, Monitored Items are often configured on the live Variable Node whose value stream is being archived. The SamplingInterval and QueueSize settings determine the granularity of data that eventually populates the historian database.
Address Space
The object-oriented graph that exposes the historian's structure to Clients. Historical Access capabilities are advertised through the HistoryRead and HistoryUpdate Objects in the Server's Address Space. Each Variable Node that supports history exposes a Historizing attribute set to True, signaling to Clients that time-series data is available for that node.
OPC UA PubSub over MQTT
A transport mapping that streams DataSet messages to cloud-based historians. In modern architectures, edge gateways publish time-series data via MQTT brokers to centralized data lakes. This decouples the historian from the real-time Server, enabling scalable cloud analytics while Historical Access services provide standardized query interfaces regardless of where data is physically stored.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us