Below is a summary of the recommended usage of FairCom DB’s features described in this section:
When designing a system that uses FairCom DB, first consider using TRNLOG for all files, then determine if requirements can be relaxed to include the use of PREIMG or non-transaction files in some cases. Understand the effect of using PREIMG and non-transaction files.
Use TRNLOG files for critical data whose updates must be fully recoverable in the event of an abnormal server termination. TRNLOG provides the best fault tolerance but transaction logging has performance implications.
If using TRNLOG index files, use LOGIDX to speed automatic recovery. LOGIDX may slightly impact performance but can significantly improve recovery times for large TRNLOG indexes.
Use PREIMG files for atomic operations on files without the assurance of recoverable updates. In the event of an abnormal server termination, lost updates are likely for a PREIMG file and the file must be re-created, rebuilt, or restored from backup.
Use non-transaction files for data not requiring atomic operations without the assurance of recoverable updates. In the event of an abnormal server termination, lost updates are likely for a non-transaction file and the file must be re-created, rebuilt, or restored from backup.
Use WRITETHRU (or periodic cache flush calls) to minimize unwritten cached data loss for PREIMG and non-transaction files in the event of an abnormal server termination, but be aware of the limitations of WRITETHRU: lost updates and out of sync data and index files are still possible, and there is no guarantee of consistency for PREIMG files.
Create FairCom DB data and index files as huge files when the size of the file is expected to exceed 2 GB. Otherwise, at some point the file will reach its maximum size and updates that would cause the file to grow will fail. Also be aware of system limitations on file sizes (operating system and filesystem settings).
Create FairCom DB data and index files as segmented files when the file size is expected to exceed the available space on a single disk volume or when the file size is expected to exceed the supported maximum file size on the system. Otherwise, at some point the file will exhaust available disk space or will exceed the maximum file size and updates that would cause the file to grow will fail.
Use mirrored files when disk I/O errors are likely to occur. Mirroring protects against the failure of one copy of the file. Another alternative is to use a disk-level mirroring approach such as RAID.
Use memory files to create memory-based data and index files that exist only while the c tree Server is active. The final close of a memory file frees its memory, destroying its contents. Because memory file data is not persistent, a common use of memory files is to store data that can be reloaded from an external source.
Use partitioned files when the ability to easily purge or archive portions of a file is desired.