Q: What is the meaning of each file string in dxxxxxxxx where xxxxxxxx is a hexadecimal code in the InfoNode Data folder? Are files the ones storing the measurements?

 

A: Yes, measurements and other purgable data (e.g., log entries).

Separate files are created for each “expiration” day. Each object’s data is stored in the file corresponding to the object expiration date. File names are derived with the days-since-12/31/1899 as “d” + the encoded day value in hexadecimal + “.db” (e.g., “d0000800c.dat”).

 

The actual file date depends on the expiration date of the data which is configurable (normally time + 30 days). You can use EXCELL to figure out the file name. The formula is =DEC2HEX( INT( C4 ) +30) where “C4” is a cell containing a date. For example:

Date                 Day      File
11/1/2009         9CD4    d00009cd4.db
11/2/2009         9CD5    d00009cd5.db
11/3/2009         9CD6    d00009cd6.db

12/1/2009         9CF2    d00009cf2.db

A special name, “settings.db” is reserved for the non-purgable data; this file is however of the same structure as the purgable “d*.db” files.

 

The entire object state is stored in the record. This allows the entire database to be rebuilt from nothing but the storage files. To ensure robustness, the indexed auxiliary database tables that are used to access the data storage database files, can be rebuilt at startup if required. Further, each database file is fully independent. Deleting one file does not compromise the indices of another. It is however important to remember that some objects are interdependent. For example measurements in a “d*.db” file require DataNode objects stored in the “settings.db” file.