History DB

The concept for archiving process data handles the saving and readout of information that occurs during process control or visualization. This involves values and messages that are generated by value changes. In data archiving, the management of resulting data files (backup, swapping out and deletion of files) at system administration level is explained.

The archiving of process data is a special case of a database application.

The concept

Separation of value and message history. As up to now, alarms are managed via the Archiv_Control panel.

Organization in a matrix (DPE x time)

Several archives are possible. This allows structured archiving, values that occur often can be separated from those which occur rarely.

Each archive is managed by a separate archiving process.

Each archive consists of a series of chronologically ordered archive files.

Each data point element can be saved in one or more archives (future option, not yet implemented in the current version).

Each archive is configured for a maximum number of data point elements and values. The individual DPEs within an archive can be of different data types. With regard to effective management, the following points should be considered when defining archives: dynamics (almost same change rate of all DPEs in an archive), logical affiliation, required availability in the system.

Advantages

Space-saving storage structure

Efficient write logic (a direct access)

Fast chronological reading of values for each DPE (backwards and forwards)

Simple archiving management through configurable archive record sizes

No multiple access problems (except online backup)

Different archiving options for data points

All times for file changes and data backup are handled as UTC times (coordinated universal time, formerly GMT or Greenwich mean time). This corresponds to Central European Time minus one hour.

A large amount of datasets inside the History DB can lead to high latency for queries. To decrease the latency, the config entry "queryMaxValues" can be used to set the maximum amount of values that are returned in the query. This leads to a faster result due to less returned datasets.

When using Linux, large amount of datasets in the History DB can lead to query problems. The reason is, that the Linux parameter "open files" is set to 1024 per default. This leads to errors when opening more than 1024 files in a query. Solution is, that "open files" is set to a higher value (using "ulimit -n VALUE"). A guidance for the "open files" value: Amount of files of the value archive x 2 + reserve. e.g.: value archive with 3000 files x 2 = 6000 and a reserve of 1000 leads to a value of 7000 ("ulimit -n 7000").

Reason for the factor "x 2" is, that two file handles per archive file are needed.

Requirements

A network should be installed on the computer. A local network is sufficient. One possibility is to install a MS Loopback adapter as a network card.

The list under "Control panel > Network> Network card" has to contain the entry "MS Loopback-Adapter". If necessary, add or remove the "MS Loopback-Adapter" (by clicking the button "Add" or the button "Delete").

The WHERE condition "!= NULL" is not supported for HDB (is converted to "!= 0").

Chapter Content
History DB, basics Introduction, concept and advantages, as well as links to the topics
Create and configure archives Introduction to the configuration panels
Start archiving Starting the archiving process in the console
Copy/update projects with the History DB Step by step instructions
Assigning data point elements to archives Panel for the _archive config.
History DB - Compression of archives Compression of completed archive records of the History DB starting with version 2.12.1
Swap out/backup archives Save and swap out archives with the panel "History database action"
Archive status Panel for information about current actions such as a file change or archive swap-out
Data types of the History DB What data types can be archived
Details about the History DB Internal data points and concepts
Glossary Definition of terms used in the History DB