Backup versus Checkpoint
Another Backup Plugin (ABP) is designed to support backup. It is not designed to support checkpoint. The concepts of backup and checkpoint are related, but they are not the same thing. This page is based on the author's interpretation of the meaning of these terms, as applied to KeePass' password database.
Copying the Password Database: The KeePass application can be thought of as an editor of a special-purpose file called a password database. Both backup and checkpoint refer to making one or more copies of the password database file, to preserve editorial changes to the database in another place. Although there is some overlap between the requirements for backup and those for checkpoint, my view is that their purposes are sufficiently different that it makes sense to implement different mechanisms for each.
What Is Backup? The purpose of backup is to allow restoring the database from another copy, in case the primary copy is lost, damaged, or destroyed. For this purpose, each backup copy should be stored in a physically different place (such as a different hard disk) from the primary copy. Ideally, the backup mechanism should be fully automatic, and should allow complete recovery of all data. In the KeePass application, this can be achieved by writing (or overwriting) a backup copy or copies whenever the application determines that the needed backups are not already up to date. If the primary copy is lost, the latest state can be restored from a backup copy.
What Is Checkpoint? The purpose of checkpoint is to allow rollback of the database to a previous state, in case the current state of the database is determined to be invalid. In the case of KeePass, both the validity of the current state and the specification of the checkpointed state are determined by the end user based on criteria unknown to the KeePass application. For example, an end user may want to reorganize all her password entries into groups in a completely different way. This reorganization may require a number of sessions. After a few sessions, the end user may decide that this reorganization just doesn’t work, so she rolls back to the checkpoint copy she made before starting the reorganization. The checkpoint copy is most naturally stored in the same physical place (that is, on the same volume) as the primary copy. The crucial point is that KeePass checkpoints are taken at times meaningful to the end user. These times will probably not be every time the primary copy is saved.
Manual Checkpoint Recommended: Although the ability to perform a checkpoint of the KeePass database is useful, this author sees little value in automating it. When an end user wants to checkpoint the current database, she can simply use the “File” menu “Save As…” action, perhaps saving the database to another name in the same directory. The new name can reflect the meaning of the checkpoint. For example, save Database.kdb to OldOrganization.kdb.
Summary: The following table summarizes the above discussion, showing the differences between backup and checkpoint along six dimensions: