1.1.1

Table Of Contents
NotesUsageFile Extension Values
Pre-allocated 90% of the total max-oplog-size
at creation.
Oplog: create, update, and invalidate
operations
crf
Pre-allocated 10% of the total max-oplog-size
at creation.
Oplog: delete operationsdrf
Created after the oplog has reached the
max-oplog-size. Used to improve
performance at startup.
Oplog: key and crf offset informationkrf
Disk Store Operation Logs
At creation, each operation log is initialized at the disk store's MAXLOGSIZE value, with the size divided
between the crf and drf les. SQLFire only truncates the unused space on a clean shutdown (for example,
sqlf server stop or sqlf shut-down-all).
After the oplog is closed, SQLFire also attempts to created a krf le, which contains the key names as well as
the offset for the value within the crf le. Although this le is not required for startup, if it is available, it will
improve startup performance by allowing SQLFire to load the entry values in the background after the entry
keys are loaded. See
When an operation log is full, SQLFire automatically closes it and creates a new log with the next sequence
number. This is called oplog rolling.
Note: Log compaction can change the names of the disk store les. File number sequencing is usually
altered, with some existing logs removed or replaced by newer logs with higher numbering. SQLFire
always starts a new log at a number higher than any existing number.
The system rotates through all available disk directories to write its logs. The next log is always started in a
directory that has not reached its congured capacity, if one exists.
When Disk Store oplogs Reach the Configured Disk Capacity
If no directory exists that is within its capacity limits, how SQLFire handles this depends on whether automatic
compaction is enabled.
If AUTOCOMPACT is enabled (set to 'true), SQLFire creates a new oplog in one of the directories, going over
the limit, and logs a warning that reports:
Even though the configured directory size limit has been exceeded a
new oplog will be created. The current limit is of XXX. The current
space used in the directory is YYY.
Note: When auto-compaction is enabled, directory sizes do not limit how much disk space is used.
SQLFire performs auto-compaction, which should free space, but the system may go over the congured
disk limits.
If auto-compaction is disabled, SQLFire does not create a new oplog. DML operations to tables block, and
SQLFire logs the error:
Disk is full and rolling is disabled. No space can be created
Factors Contributing to High Disk Throughput
SQLFire disk store design contains several factors that contribute to very high disk throughput. They include
pooling, avoiding seeks, and buffered logging.
83
Using Disk Stores to Persist Data