2.2 Main-memory checkpointing
A checkpoint is a persistent image of the whole database, allowing the database to be recovered after a system
crash or other case of down time. IBM solidDB executes a snapshot-consistent checkpoint [10] that is alone
sufficient to recover the database to a consistent state that existed at some point in the past. Other database
products do not normally allow this; the transaction log files must be used to reconstruct a consistent state.
However, solidDB allows transaction logging to be turned off, if desired. The solidDB solution is memoryfriendly
because of its ability to allocate row images and row shadow images (different versions of the same
row) without using inefficient block structures. Only those images that correspond to a consistent snapshot are
written to the checkpoint file, and the row shadows allow the currently executing transactions to run unrestricted
during checkpointing.