KeePass Password Safe
|
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:
Criterion
|
Backup |
Checkpoint |
Purpose is to recover from |
physical loss |
end user editing |
Physical location of copies, compared with original |
different |
same |
Filename of copies, compared with original |
same |
different |
Preferred mode of copying |
automatic |
manual |
Restoring means |
recovery |
rollback |
Restored state is |
latest |
previous |
|