CONTENT-INDEPENDENT AND DATABASE MANAGEMENT SYSTEM-INDEPENDENT SYNTHETIC FULL BACKUP OF A DATABASE BASED ON SNAPSHOT TECHNOLOGY
First Claim
1. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, which comprises one or more processors and computer memory, cause the computing device to perform operations comprising:
- storing a copy of a first snapshot of a database to a storage device,wherein a database management system (DBMS) performs operations that change data in the database;
after each respective snapshot in a plurality of successive snapshots of the database is generated;
(i) receiving identifiers of changed data blocks that changed in the database relative to corresponding data blocks in an immediately preceding snapshot of the database,(ii) extracting the changed data blocks from the respective snapshot based on the respective identifiers,(iii) storing to the storage device a respective incremental backup of the database comprising the changed data blocks extracted from the respective snapshot of the database, and(iv) indexing the changed data blocks that are in the respective incremental backup;
based on the indexing, generating a synthetic full block-level backup of the database represented at a given point in time,wherein the synthetic full block-level backup comprises pointers to data blocks that are most current relative to the given point in time, including pointers to changed data blocks, and skipping over intermediate changed data blocks, as found in;
(a) the copy of the first snapshot of the database, and (b) one or more incremental backups of the database;
storing the synthetic full block-level backup of the database to the storage device; and
restoring the database from the synthetic full block-level backup in the storage device without using a native restore feature of the database management system.
2 Assignments
0 Petitions
Accused Products
Abstract
The illustrative storage management system uses snapshot technologies and performs block-level analysis thereof and to synthesize full backups of a database, regardless of the database management system (DBMS) and content of the database and without involving native DBMS utilities. Synthetic full copies are created efficiently and use network transport resources sparingly. Successive snapshots of the database may be hardware snapshots and/or software snapshots. The illustrative storage management system tracks which data blocks in the database change over time after a baseline full copy is saved to secondary storage. Only the changed blocks are subsequently moved to secondary storage as incremental backups and are indexed for future reference. A synthetic full backup of the database, at a given point in time, may be created by synthesizing the original full backup with changed blocks from any number of later incremental backups. The synthetic full backup comprises pointers to appropriate data blocks, ignoring intermediate changes, and pointing to the most current data block in secondary storage relative to the given point in time chosen for the synthetic full backup. The illustrative storage management system may restore the synthetic full backup without native DBMS utilities.
17 Citations
20 Claims
-
1. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, which comprises one or more processors and computer memory, cause the computing device to perform operations comprising:
-
storing a copy of a first snapshot of a database to a storage device, wherein a database management system (DBMS) performs operations that change data in the database; after each respective snapshot in a plurality of successive snapshots of the database is generated; (i) receiving identifiers of changed data blocks that changed in the database relative to corresponding data blocks in an immediately preceding snapshot of the database, (ii) extracting the changed data blocks from the respective snapshot based on the respective identifiers, (iii) storing to the storage device a respective incremental backup of the database comprising the changed data blocks extracted from the respective snapshot of the database, and (iv) indexing the changed data blocks that are in the respective incremental backup; based on the indexing, generating a synthetic full block-level backup of the database represented at a given point in time, wherein the synthetic full block-level backup comprises pointers to data blocks that are most current relative to the given point in time, including pointers to changed data blocks, and skipping over intermediate changed data blocks, as found in;
(a) the copy of the first snapshot of the database, and (b) one or more incremental backups of the database;storing the synthetic full block-level backup of the database to the storage device; and restoring the database from the synthetic full block-level backup in the storage device without using a native restore feature of the database management system. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for generating a full block-level backup copy of a database in a data storage management system, the method comprising:
-
storing a copy of a first snapshot of the database to a storage device, wherein a database management system (DBMS) performs operations that change data in the database, and wherein the storing operation is performed by a media agent component of the data storage management system, which executes on a first computing device comprising one or more processors and computer memory; after each respective snapshot in a plurality of successive snapshots of the database is generated in the data storage management system; (i) receiving, by the media agent, identifiers of changed data blocks that changed in the database relative to corresponding data blocks in an immediately preceding snapshot of the database, (ii) extracting, by the media agent, the changed data blocks from the respective snapshot based on the respective identifiers, and (iii) storing, by the media agent to the storage device, a respective incremental backup of the database comprising the changed data blocks extracted from the respective snapshot of the database, and (iv) indexing, by the media agent, the changed data blocks that are in the respective incremental backup; based on the indexing, generating, by the media agent, a synthetic full block-level backup of the database represented at a given point in time, wherein the synthetic full block-level backup comprises pointers to data blocks that are most current relative to the given point in time, including pointers to changed data blocks, and skipping over intermediate changed data blocks, as found in;
(a) the copy of the first snapshot of the database, and (b) one or more incremental backups of the database;storing, by the media agent, the synthetic full block-level backup of the database to the storage device; and restoring the database from the synthetic full block-level backup in the storage device without using a native restore feature of the database management system. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A data storage management system comprising:
-
a first computing device that executes a database management system (DBMS), which operates upon a database, wherein the first computing device comprises one or more processors and computer memory; a first storage device in communication with the first computing device, wherein the storage device stores the database and a plurality of successive snapshots of the database; a second storage device for storing a full backup of a first snapshot of the database taken at a first time; a second computing device in communication with the first computing device and with the second storage device; and wherein the second computing device is configured to; store a copy of a first snapshot of the database to the second storage device, after each respective snapshot in a plurality of successive snapshots of the database is generated; (i) receive respective identifiers that identify changed data blocks which changed in the database relative to corresponding data blocks in an immediately preceding snapshot of the database, (ii) extract the changed data blocks from the respective snapshot based on the respective identifiers, (iii) store to the second storage device a respective incremental backup of the database comprising the changed data blocks extracted from the respective snapshot of the database, and (iv) maintain an index of the changed data blocks that are in the respective incremental backup, based on the index, generate a synthetic full block-level backup of the database represented at a given point in time, wherein the synthetic full block-level backup comprises pointers to data blocks that are most current relative to the given point in time, including pointers to changed data blocks, and skipping over intermediate changed data blocks, as found in;
(a) the copy of the first snapshot of the database, and (b) one or more incremental backups of the database,store the synthetic full block-level backup of the database to the second storage device, and restore the database from the synthetic full block-level backup in the storage device without using a native restore feature of the database management system. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification