A method, system, and computer program product for generating checkpoint
information in a database management system that determines the frequency
of checkpointing of transactions based on a cost/benefit tradeoff
analysis. A method for generating checkpointing information in a database
management system comprises the steps of generating redo information
based on transactions processed by the database management system,
determining a cost of recovery using the redo information, determining a
cost of taking a checkpoint, receiving a user specification of acceptable
recovery delay and acceptable checkpoint overhead, and taking a
checkpoint when cost effective to do so based on the cost of recovery
using the redo information, the cost of taking the checkpoint and the
user-specified acceptable delay and overhead.