Performance Considerations for Non-Critical Files
The most important attribute of a database engine is the safe storage and retrieval of data. Without this reliability, all other features -- be that excellent performance or exceptional value -- have no relevance. For this reason, FairCom always recommends full transaction processing for the ultimate in data integrity and automatic recovery.
However, there may be practical reasons why a particular application does not use full transaction transaction processing for all files. For those instances, FairCom still takes the "safe" approach and ensures every update for a non-transaction-controlled file is flushed to disk by default. While this can have a significant impact on update performance, this feature protects any non-transaction controlled data by literally forcing your data to disk to ensure it is not lost. The presence of the COMPATIBILITY FORCE_WRITETHRU keyword in the default server configuration file ensures this protection is enabled.
When performing a cross-comparison of c-tree's data handling techniques, it is important to carefully inspect your c-tree Server configuration file. You may want to consider commenting out this keyword to observe blazing fast performance if data integrity is not a requirement for your files that are not configured for transaction processing.
Beware: Without this keyword, updates to non-transaction-controlled files are then written to the c-tree Server's cache and are eventually written to disk - note the near certainty of data loss in the event of a power loss.
By default, most c-tree sample applications, including many of our tutorials, are not transaction enabled, but data integrity is protected because of the presence of this keyword in the default configuration file.
A previous file flushing mechanism can be employed to provide a measurable amount of protection in place of full FORCE_WRITETHRU protection. Specify COMPATIBILITY PREV610A_FLUSH in your server configuration file. In this mode changes to non-transaction-controlled files are written through the c-tree Server's cache to the file system and are not flushed to disk. This mode is comparable to the data integrity provided by the multi-user standalone, FPUTFGET, operational model. Do remember though, there is still a small window of vulnerability as data can still reside in the OS cache for short periods of time.
|