Database snapshot and backup management with recoverable chains
Abstract
Methods and systems for recovering databases and other applications with reduced downtime using recoverable chains are described. When protecting or backing up a database, an integrated data management and storage system may capture snapshots of the database at a snapshot frequency (e.g., at 15 minute intervals) and acquire database transaction logs that include data changes of the database at a frequency that is greater than the snapshot frequency. The integrated data management and storage system may generate a particular point in time version of the database by identifying a recoverable chain that comprises a combination of one or more database snapshots including the snapshot closest to the recovery point and one or more database transaction logs.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A data management system, comprising:
a memory or data storage device; and one or more hardware processors and executable instructions accessible on a computer-readable medium that, when executed, cause the one or more hardware processors to perform operations comprising: receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals and a time gap; identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval; identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval; determining whether to use the first recoverable chain or the second recoverable chain to recover the particular version of the database or VM based on a position of a transaction log file coverage gap within the time gap; and generating the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on the determination.
22 . The data management system of claim 21 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
determining a first storage size for the first recoverable chain; and determining a second storage size for the second recoverable chain.
23 . The data management system of claim 21 , wherein the operations further comprise:
taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.
24 . The data management system of claim 21 , wherein the operations further comprise:
receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.
25 . A data management system, comprising:
a memory or data storage device; and one or more hardware processors and executable instructions accessible on a computer-readable medium that, when executed, cause the one or more hardware processors to perform operations comprising: receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals; identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval; identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval; determining a first estimated time to generate the first recoverable chain; determining a second estimated time to generate the second recoverable chain; and recovering the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on a comparison of the first estimated time and the second estimated time.
26 . The data management system of claim 25 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
determining a first storage size for the first recoverable chain; and determining a second storage size for the second recoverable chain.
27 . The data management system of claim 25 , wherein the operations further comprise:
taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.
28 . The data management system of claim 25 , wherein the operations further comprise:
receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.
29 . A data management system, comprising:
a memory or data storage device; and one or more hardware processors and executable instructions accessible on a computer-readable medium that, when executed, cause the one or more hardware processors to perform operations comprising: receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals; identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval; identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval; determining a first number of files for the first recoverable chain; and determining a second number of files for the second recoverable chain; and recovering the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on a comparison of the first number of files and the second number of files.
30 . The data management system of claim 29 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
determining a first storage size for the first recoverable chain; and determining a second storage size for the second recoverable chain.
31 . The data management system of claim 29 , wherein the operations further comprise:
taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.
32 . The data management system of claim 29 , wherein the operations further comprise:
receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.
33 . A method for operating a data management system, comprising;
receiving an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals and a time gap; identifying a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval; identifying a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval; determining whether to use the first recoverable chain or the second recoverable chain to recover the particular version of the database or VM based on a position of a transaction log file coverage gap within the time gap; and generating the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on the determination.
34 . The method of claim 3 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
determining a first storage size for the first recoverable chain; and determining a second storage size for the second recoverable chain.
35 . The method of claim 33 , further comprising taking a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and
periodically taking incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.
36 . The method of claim 33 , further comprising:
receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.
37 . A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to;
receive an instruction to recover a particular version of a database or a virtual machine (VM) storing or running the database, to a particular point in time, the particular point in time occurring in a time period including first and second time intervals and a time gap; identify a first recoverable chain including a first set of snapshots taken at respective times within the first time interval, and a second set of update files including transaction log files associated with database or VM transactions occurring within the first time interval, and metadata to align the transaction log files with various points in time within the first time interval; identify a second recoverable chain including a third set of snapshots taken at respective times within the second time interval, and a fourth set of update files including transaction log files associated with database or VM transactions occurring within the second time interval, and metadata to align the transaction log files with various points in time within the second time interval; determine whether to use the first recoverable chain or the second recoverable chain to recover the particular version of the database or VM based on a position of a transaction log file coverage gap within the time gap; and generate the particular version of the database or VM using the first recoverable chain or the second recoverable chain based on the determination.
38 . The non-transitory computer-readable storage medium of claim 3 , wherein determining whether to use the first recoverable chain or the second recoverable chain further comprises:
determine a first storage size for the first recoverable chain; and determine a second storage size for the second recoverable chain.
39 . The non-transitory computer-readable storage medium of claim 37 , wherein the instructions further configure the computer to take a base snapshot within the first or second time intervals, the base snapshot including a full snapshot; and
periodically take incremental snapshots within the first or second time intervals to create the first and third sets of snapshots, respectively.
40 . The non-transitory computer-readable storage medium of claim 37 , further comprising:
receiving additional data changes to a second version of the database or VM from a computing device while at least a portion of the second version of the database or VM is transferred to the computing device.Join the waitlist — get patent alerts
Track US2021224166A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.