Skip to content
The Open Source Time-Series Data Historian
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Build/Scripts
Source openHistorian: Version change for build v2.5.178.0-master. Apr 24, 2019
.gitattributes Converted from TFS to Git. Sep 30, 2015
.gitignore Updated .gitignore to include all files under the Grafana folder in t… Dec 8, 2017
LICENSE Updated copyright year in LICENSE files. Oct 9, 2016
README.md Updated help link for non-database configurations selected from the CSU May 31, 2018

README.md

LogoBanner

openHistorian

The openHistorian is a back office system designed to efficiently integrate and archive process control data, e.g., SCADA, synchrophasor, digital fault recorder or any other time-series data used to support process operations.

The openHistorian is optimized to store and retrieve large volumes of time-series data quickly and efficiently, including high-resolution sub-second information that is measured very rapidly, e.g., many thousands of times per second.

openHistorian Web Interface

Overview

The openHistorian 2 is built using the GSF SNAPdb Engine - a key/value pair archiving technology developed to significantly improve the ability to archive extremely large volumes of real-time streaming data and directly serve the data to consuming applications and systems.

Through use of the SNAPdb Engine, the openHistorian inherits very fast performance with very low lag-time for data insertion. The openHistorian 2 is a time-series implementation of the SNABdb engine where the "key" is a tuple of time and measurement ID, and the "value" is the stored data - which can be most any data type and associated flags.

The system comes with a high-speed API that interacts with an in-memory cache for very high speed extraction of near real-time data. The archive files produced by the openHistorian are ACID Compliant which create a very durable and consistent file structure that is resistant to data corruption. Internally the data structure is based on a B+ Tree that allows out-of-order data insertion.

The openHistorian service also hosts the GSF Time-Series Library (TSL), creating an ideal platform for integrating streaming time-series data processing in real-time:

openHistorian Overview

Three utilities are currently available to assist in using the openHistorian 2. They are automatically installed alongside openHistorian.

  • Data Migration Utility - Converts openHistorian 1.0 / DatAWAre Archives to openHistorian 2.0 Format - View Screen Shot
  • Data Trending Tool - Queries Selected Historical Data for Visual Trending Using a Provided Date/Time Range - View Screen Shot
  • Data Extraction Utility - Queries Selected Historian Data for Export to a CSV File Using a Provided Date/Time Range - View Screen Shot

Where openHistorian Fits In: Where it fits in

Documentation and Support

  • Documentation for openHistorian can be found in the openHistorian wiki.
  • Documentation for all GPA products can be found in the GPA wiki
  • Get in contact with our development team on our new discussion boards.
  • View old discussion board topics here.

Deployment

For detailed instructions on deploying the openHistorian, see the installation guide

  1. Make sure your system meets all the requirements below.
  • Choose a download below.
  • Unzip, if necessary.
  • Run openHistorianSetup.msi.
  • Follow the wizard.
  • Enjoy.

Requirements

  • .NET 4.6 or higher.
  • 64-bit Windows 7 or newer.
  • HTML 5 capable browser.
  • Database management system such as:
    • SQL Server (Express version is fine)
    • MySQL
    • Oracle
    • PostgreSQL
    • SQLite* (included, no extra install required)

* Not recommended for large deployments.

Downloads

  • Download a stable release here.
  • Download the nightly build here.

Contributing

If you would like to contribute please:

  • Read our styleguide.
  • Fork the repository.
  • Work your magic.
  • Create a pull request.

License

openHistorian is licensed under the MIT License.

You can’t perform that action at this time.