In a fuzzy checkpoint, the database server does not flush the modified pages in the shared-memory buffer pool to disk for certain types of operations, called fuzzy operations. When a fuzzy checkpoint completes, the checkpointed pages might not be consistent with each other because the database server does not flush all data pages to disk. When necessary, the database server performs a full checkpoint to ensure the physical consistency of all data on disk.
The following commonly used operations are fuzzy:
These following operations are nonfuzzy:
The database server flushes all the modified data pages for nonfuzzy operations to disk during a fuzzy checkpoint in the same way as for a full checkpoint.
Fuzzy checkpoint depends on write-ahead logging for fast recovery to work correctly. Write-ahead logging means that the logical-log records representing changes to fuzzy data must be on disk before the changed data replaces the previous version of the data on disk. Fast recovery begins with the oldest update not yet flushed to disk rather than with the previous checkpoint.
Fuzzy checkpoints are much faster than full checkpoints and improve transaction throughput. Because the database server does not log fuzzy operations in the physical log, the physical log does not fill as quickly, and checkpoints occur less often. For example, if you are inserting and updating a lot of data, checkpoints occur less frequently and are shorter.
The database server skips a full checkpoint if all data is physically consistent when the checkpoint interval expires. It skips a fuzzy checkpoint only if no pages have been dirtied since the last checkpoint.
For information on improving checkpoint performance, see the chapter about configuration impacts on I/O in your IBM Informix: Performance Guide. For information about the physical log, see Physical Logging.
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]