Optimizing the number and type of database backups to achieve a given recovery time objective (rto)
Abstract
A method of optimizing the number and type of database backups to achieve a given RTO is provided and may include receiving a RTO and receiving a heuristic for determining an amount of unencumbered processing time. A type of next backup, (i.e., a next backup), is determined wherein the type of next backup is an incremental backup when the sum of the heuristic, and the times to: restore the latest full backup, restore zero or more incremental backups, complete a current incremental backup, and perform a full backup is less than the received RTO, else the type of the next backup is a full backup. A time to schedule the next backup is scheduled based on the received RTO being a total of an amount of time to: complete the type of next backup; rollforward zero or more transaction log records; and to restore at least one backup.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer program product for optimizing the number and type of database backups to achieve a given recovery time objective (RTO), the computer program product including a DBMS embodied on a computer readable storage medium, the DBMS including code executable by a processor to perform a method comprising:
receiving, by the DBMS, a heuristic for determining an amount of unencumbered processing time and an RTO; determining a type of next backup corresponding to a next backup, wherein the type of next backup is an incremental backup when a sum of recovery times totals less than the received RTO, else the type of the next backup is a full backup; and scheduling a time for the next backup based on the received RTO being a total of:
an amount of time to complete the type of next backup;
an amount of time to rollforward zero or more transaction log records wherein the amount of time to rollforward is calculated as: tracking and storing, in a persistent storage, a count and type of recoverable operations as they occur during database execution; extracting from the persistent store a recovery cost associated with each of the recoverable operations; and for each of the recoverable operations, multiplying the count by the associated recovery cost; and
an amount of time to restore at least one backup.
2 . The computer program product of claim 1 , wherein the sum of recovery times further comprises a total of:
an amount of time required to restore a latest full backup; an amount of time to restore zero or more incremental backups; an amount time to complete a current incremental backup; an amount of time corresponding to the heuristic; and an amount of time to complete a full backup.
3 . The computer program product of claim 1 , wherein determining the type of next backup further comprises:
calculating a total amount of time by aggregating:
an amount of time to restore a full backup;
the amount of time to restore zero or more incremental backups;
the amount of time to complete an incremental backup;
the amount of time to complete a full backup; and
determining the type of next backup based on the calculated total amount of time and the received RTO.
4 . The computer program product of claim 1 , wherein determining a time to schedule the next backup further comprises:
when the received RTO is less than the total of:
the amount of time to complete the type of the next backup;
the amount of time to rollforward the zero or more transaction log records; and
the amount of time to restore the at least one backup;
issuing a message that the database is out of compliance with the received RTO; and determining to start the next backup immediately.
5 . The computer program product of claim 1 , wherein the amount of unencumbered processing time is an amount of processing time during which a transaction executes without competing for resources with an active concurrent backup process.
6 . The computer program product of claim 1 , wherein the recovery cost comprises a number of units wherein each of the number of units is a multiple of base operations, and wherein the base operation is a least resource-intensive operation in the DBMS.
7 . The computer program product of claim 1 , further comprising:
grouping recoverable operations into a plurality of recovery classes, wherein each of the plurality of recovery classes includes:
a class identifier;
a class name, wherein the class name corresponds to a grouping of recoverable operations by recovery cost;
a cost range, wherein a range of the cost range begins at a low and ends at a high value; and
an operation count, wherein the operation count is an accumulated count of recoverable operations in a class.
8 . The computer program product of claim 7 , wherein a content and a number of the plurality of recovery classes is customizable.
9 . A computer system for optimizing the number and type of database backups to achieve a given recovery time objective (RTO), the computer system comprising one or more processors, one or more computer-readable storage devices, and a plurality of program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, the plurality of program instructions comprising:
receiving, by the DBMS, a heuristic for determining an amount of unencumbered processing time and an RTO;
determining a type of next backup corresponding to a next backup, wherein the type of next backup is an incremental backup when a sum of recovery times totals less than the received RTO, else the type of the next backup is a full backup; and
scheduling a time for the next backup based on the received RTO being a total of:
an amount of time to complete the type of next backup;
an amount of time to rollforward zero or more transaction log records wherein the amount of time to rollforward is calculated as: tracking and storing, in a persistent storage, a count and type of recoverable operations as they occur during database execution; extracting from the persistent store a recovery cost associated with each of the recoverable operations; and for each of the recoverable operations, multiplying the count by the associated recovery cost; and
an amount of time to restore at least one backup.
10 . The computer system of claim 9 , wherein the sum of recovery times further comprises a total of:
an amount of time required to restore a latest full backup; an amount of time to restore zero or more incremental backups; an amount of time to complete a current incremental backup; an amount of time corresponding to the heuristic; and an amount time to perform a full backup.
11 . The computer system of claim 9 , wherein determining the type of next backup further comprises:
calculating a total amount of time by aggregating:
an amount of time to restore a full backup;
the amount of time to restore the zero or more incremental backups;
the amount of time to complete the current incremental backup;
the amount of time to complete the full backup; and
determining the type of next backup based on the calculated total amount of time and the received RTO.
12 . The computer system of claim 9 , wherein determining a time to schedule the next backup further comprises:
when the received RTO is less than the total of:
the amount of time to complete the type of the next backup;
the amount of time to rollforward the zero or more transaction log records; and
the amount of time to restore the at least one backup;
issuing a message that the database is out of compliance with the received RTO; and determining to start the next backup immediately.
13 . The computer system of claim 9 , wherein the amount of unencumbered processing time is an amount of processing time during which a transaction executes without competing for resources with an active concurrent backup process.
14 . The computer system of claim 9 , wherein the recovery cost comprises a number of units wherein each of the number of units is a multiple of base operations, and wherein a base operation is a least resource-intensive operation in the DBMS.
15 . The computer system of claim 9 , further comprising:
grouping recoverable operations into a plurality of recovery classes, wherein each of the plurality of recovery classes includes:
a class identifier;
a class name, wherein the class name corresponds to a grouping of recoverable operations by recovery cost;
a cost range, wherein a range of the cost range begins at a low and ends at a high value; and
an operation count, wherein the operation count is an accumulated count of recoverable operations in a class.
17 . The computer system of claim 9 , wherein the amount of time to restore the at least one backup further comprises:
a sum of times to restore each of the zero or more incremental backups created since a last full backup; or an estimated time to restore a full backup.
18 . The computer system of claim 9 , wherein calculating the amount of time to restore the zero or more incremental backups further comprises a sum of times to restore each of the zero or more incremental backups created since the last full backup.
19 . The computer system of claim 15 , wherein a content and a number of the plurality of recovery classes is customizable.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.