General Terms and User Model
Writing Data in Blocks
As SCADA systems have a continuous load of value changes (“events”) and alerts, writing of data into the database needs to be optimized. To do so, data is collected in “blocks” and then written as chunks (“bulks” or “blocks”), which greatly enhances the write performance. As soon as a block is processed by the backend, the block is deleted. The collection of data and preparation of these chunks is done by the Frontend Manager.
You can configure the size of a single memory block and also if the block should be backed up. Therefore, you can avoid loosing data in case of unexpected shutdowns. In addition, the maximum number of blocks can be configured to avoid memory or disk space overflow. If the maximum number of blocks is reached, the oldest block is deleted. The block is also deleted if the data in the block has not been written to the database despite several attempts.
Historical Data Management
All historical data written into a database (events and alarms) will be stored in so-called “segments”. Segments have a defined start- and end time, do not overlap and do not contain any gaps. The duration of a segment is user-defined (e.g., one day, one week, …). The reason for this separation is that data cannot be stored forever (due to space and performance limits) and removal of data from a database can be very ineffective if done at low level (e.g. record by record). The lifespan of segments (“retention”) can be defined. The NGA will automatically create and delete segments as required and stores data in the correct segment dependent on its timestamp. Segments can easily be removed, backed up and – when necessary – also be restored. To allow different retentions for different data point elements, archive groups are used. An archive group defines the segment duration, retention and the database (backend) where data is stored. Each data point element can be assigned to one or more archive groups. Each archive group has its own segment model.
Backup, Restore
As explained above the segment model allows the user to divide the data over time into individual segments, each covering a specific range of time. For later retrieval older segments can be copied to a backup location. Old segments can be deleted to free disk space. Both operations (backup and delete) can be done manually and / or automatically. In addition, all backed up segments can manually be restored from their backup location when required and then used for historical queries. These restored segments must later be deleted manually. For more information, see chapter Extended Settings - Database-specific Configuration. You can also backup the whole database and restore it - see chapter Full DB Backup and Restore.
Segment Status Model
See chapter NGA Data / Segment Management.