The maintenance of multiple point-in-time copies of a collection of data.
Versioning is used to minimize recovery time or data loss by increasing the number of intermediate checkpoints from which an application can be restarted.
A mechanism for defining a specific set of capabilities at a specific point in time.