Checkpoints are used to store a transactionally-consistent state of the database onto the disk.
Checkpoints affect both runtime performance and recovery time performance.
Checkpoints cause solidDB to perform data I/O with high priority, which momentarily reduces the runtime performance. Typically the performance impact of checkpoints is small. Similar to merge intervals, less frequent checkpoints can mean less frequent, but longer delays before the system responds to interactive queries. More frequent checkpoints tend to minimize the worst case delays that an interactive user might experience. However, such delays might be more frequent even if they are shorter.
It is possible to control the execution of checkpoints, for example, to prevent them from occurring during periods of high user volume by using the following methods:
▪ Set the following configuration parameters in the solid.ini file.
▪ Force a checkpoint by using the ADMIN COMMAND 'makecp' command, see MAKECP.
Frequent checkpoints can reduce the recovery time in the event of a system failure. If the checkpoint interval is small, relatively few changes to the database are made between checkpoints and consequently, few changes need to be made during recovery. However, the server performance is reduced during the creation of a checkpoint and the speed of checkpoint creation depends on the amount of database cache used; the more database cache is used, the longer the checkpoint creation takes. The database cache size is controlled with the IndexFile.CacheSize parameter, see IndexFile section.