Data Sizing and Storage in Hyper Historian

When estimating the amount of disk space required to run Hyper Historian , be sure to consider:

The following table describes the minimum disk space required to install the software (besides the operating system) for Hyper Historian.

 

Software

Minimum Disk Space Required

Microsoft SQL Server

See your Microsoft documentation.

Common Component Files

20 MB or more

Hyper Historian program files, including Workbench and documentation

3 MB

 

Disk Requirements for Configuration Database Files

All historian configuration data and event data are stored within a separate database. The configuration data in the database file remains relatively static and usually never causes the file size to go above tens of megabytes. However, if you set up events, records of event detections and the results of any data summaries or snapshots increase the size of the configuration database file because the tables are filling up. Also, entries are created in the log file for event-related transactions. If the database files are set to auto-size, the configuration database file expands to accommodate event-related data until the hard drive is full.

 

A temporary database stores tag definitions being imported from integrated HMI software.

 

Note: Historical plant data is not stored in the database files. This type of data is stored in special archive files.

 

The minimum disk space for the database files is shown in the table below.

 

Database File Sizes

File

Minimum Disk Space Required

Configuration database file

10 MB

Configuration log file

10 MB

 

The configuration database is set to automatically expand at a 10% rate (the default).

 

You cannot change these defaults during the installation. The databases can be re sized later using Microsoft SQL Server utilities. For more information on sizing databases, see your Microsoft SQL Server documentation for guidelines.

Disk Requirements for Historical Data Files

Hyper Historian stores historical plant data to the hard disk in special archive files. By default during installation, the Hyper Historian is set up to log data to the following path:

 

ProgramData\ICONICS\HyperHistorian\Data

 

You may specify a different storage location (directory), after installation, in which these files will be created and then filled. This can be done using the Hyper Historian Configurator System Administration/System Settings screen. Be sure that you have allocated sufficient disk space for storing plant data for your desired length of time.

 

The amount of disk-based storage that will be needed depends on the number and frequency of stored tag values. The more tags, the fewer values that can be stored per tag before archiving the oldest data becomes necessary. The higher the specified tag storage rate, the faster you lose disk space.

 

Data Type:

Sizes:

Int8, UInt8

1 byte

Int16, UInt16

2 bytes

Int32, UInt32

4 bytes

Int64, UInt64

8 bytes

Float32

4 bytes

Float64

8 bytes

Boolean

0 bytes

String

String length * 2 bytes

Timestamp

4 bytes

Quality

1 to 3 bytes (depends on presence of sub-status code and/or history bits)

Analog and Discrete Storage Requirements

For analog and discrete tags, each value that is stored uses Storage size + 4 bytes of disk space, plus approximately 5% overhead. Use the following formula to estimate the disk usage:

 

Estimated disk usage per day = (Size + Timestamp + Quality + 1) * (1 + reserve in percent / 100) * Number of tags * [Approx. number of samples per day]

 

For example, the disk usage per day for 10,000 Float32 analog tags (Storage Size = 4 bytes) that are stored at 10-second intervals (i.e. 6 per minute * 60 * 24 = 8,640 samples/day) would be: (4+4+1+1)*(1+(5/100))*10000*8640 which is approximately 907 MB per day.

 

To achieve the best write/read performance, data slot sizes should be a multiple of disk allocation units. Data slot sizes are configurable in whole kilobytes between 1 and 255; the default value is 4KB. Each data tag has an allocated standalone data slot for data.

 

To be precise in your calculations, you should consider the size of a single data slot. Count the number of values in (single slot + reserve for future updates), then multiply it by the number of data slots.

For example: The data slot size is 4KB by default, and there are 10000 tags. The initial update of each tag will create a file of size of 10000 * 4KB + 4KB (header size), which is approximately 40MB. This size remains unchanged until the data slots get full, when it creates the next data slots as needed.

String Storage Requirements

For strings, the number of bytes required for storage will be the actual number of characters being sent from the data source + 14 bytes, plus 15% overhead. Therefore, the average disk usage per day for a variable-length string that is receiving an average of 'N' characters per sample could be calculated using the following formula:

 

Estimated average disk usage per day = (1.15 *(N+14)*number of tags) * (60/average storage rate in seconds) * 60 minutes * 24 hours / (NTFS compression ratio)

 

For example, the disk usage per day for 10,000 60-byte string tags that are changing, on average, every 60 seconds and the average incoming value is 60 characters in length would be (1.15*(60+14)*5000)*(60/60)*60*24/2, which is approximately 292 MB per day.