1.3 Warehouse Database Tables

When an alarm event is received, the event is forwarded to the BSLM Engine, and stored to the Warehouse database tables, as described in Table 1-2.

Table 1-2 Warehouse Database Tables

Database Table

Description

 

BSATimeBand

If the current time normalized to a five-second interval falls within an existing BSATimeBand record, the existing time band information is used. If not, then a new BSATimeBand record is created for the current performance event. The new/existing time band record is cached by the BSLM Engine to reduce database overhead for future events.

BSASeries

The BSASeries table is queried to determine if a series record exists for the current Profile/Subject/Expression combination, with the exception of the Expression field. The BSASeries record for an alarm event in the sample setup contains the following data:

Profile

Subject

Expression

Test 1 Profile

TEC (that is, the Tec element above)

Alarms

If a series record already exists, the existing series record is used to populate the foreign keys in the BSAAlarmData record. The new/existing BSASeries record is cached by the BSLM Engine to minimize database overhead.

BSAElements

The BSLM Engine then checks the alarm event to determine all affected elements. Each affected element is checked against the BSAElements table to confirm their existence. If an entry for the Element DName is already present in this table, it is retrieved; otherwise a new record is inserted. Both new and existing records are cached by the BSLM Engine to reduce database overhead.

BSAAlarmData

Normalized alarm data from the event is then broken out and set in the appropriate fields of the BSAAlarmData table. Also, the entire alarm object is serialized and stored to the BSAAlarmData.AlarmBlob field.

BSAAlarmElements

After all affected elements have been identified and appropriate BSAElements records are cached, the next step is to create reference entries between the BSAAlarmData and BSAElements table. This is done by inserting a new row for each affected ElementKey and the current AlarmKey into the BSAAlarmElements table.

BSAAlarmProperties

Specific alarm properties are persisted to BSAAlarmProperties to identify alarm hash values for deduplication purposes, and status flags for general alarm work flow.