|
|
|
|
The core of PICS contains two distinct but closely related databases: static and real time. The static database contains all of the information about each data point that does not change (not with any regularity, at least). The real time database contains information about each data point that is produced (or at least checked) at some regular frequency, typically very often. Because of the transient nature of real time data, that database is maintained in memory on all active PICS nodes, but is not stored on disk (except possibly by data archivers, but that's another story...).
On the other hand, the static data changes rarely, if at all, and also contains many storage-space intensive things like descriptions, names, and labels. So the static data is stored in a set of files called tables and indexes. Each table has one or more indexes. Each index represents one method of sorting the data within a table and contains a list of the locations of each record from the table, based on the index's sort key. Indexes are used to speed up searches for the most commonly used key fields.
Most of the tables are related to each other by the point id (PID) field. The PID is a number between 1 and 32767 (inclusive) or 0x0001 and 0x7FFF in hexadecimal. PID's with the most significant bit (0x8000) set have special meanings to PICS software. Zero is reserved because it is a common value to receive when something isn't working correctly and we use zero to help detect those conditions.
|
|
|
|