Database protection using block-level mapping
First Claim
1. A data storage system for protecting database files, the system comprising:
- one or more primary storage devices that store a plurality of application-level blocks associated with a database, and one or more secondary storage devices that store a secondary copy of the database with a plurality of storage blocks, the plurality of storage blocks having a first granularity that is larger than a second granularity of the application-specific blocks;
an index stored in memory that maps the plurality of storage blocks with corresponding application-level blocks, wherein each of the plurality of storage blocks in the secondary copy spans a plurality of the application-level blocks;
in response to instructions to retrieve one or more requested application-level blocks associated with of a database file from the secondary copy, one or more secondary storage controller computers comprising computer hardware are configured to;
access the index that provides a mapping between the plurality of requested application-level blocks and corresponding plurality of storage blocks;
retrieve the corresponding plurality of storage blocks from the secondary copy; and
a data agent executing on one or more computer processors and configured to divide the corresponding plurality of storage blocks retrieved from the secondary copy into the one or more requested application-level blocks; and
a database application executing on one or more computer processors, the database application in communication with the data agent, the database application configured to receive the requested application-level blocks from the data agent.
2 Assignments
0 Petitions
Accused Products
Abstract
A system according to certain aspects may include a client computing device including: a database application configured to output a database file in a primary storage device(s), the database application outputting the database file as a series of application-level blocks; and a data agent configured to divide the database file into a plurality of first blocks having a first granularity larger than a second granularity of the application-level blocks such that each of the first blocks spans a plurality of the application-level blocks. The system may include a secondary storage controller computer(s) configured to: in response to instructions to create a secondary copy of the database file: copy the plurality of first blocks to a secondary storage device(s) to create a secondary copy of the database file; and create a table that provides a mapping between the copied plurality of first blocks and corresponding locations on the secondary storage device(s).
-
Citations
19 Claims
-
1. A data storage system for protecting database files, the system comprising:
-
one or more primary storage devices that store a plurality of application-level blocks associated with a database, and one or more secondary storage devices that store a secondary copy of the database with a plurality of storage blocks, the plurality of storage blocks having a first granularity that is larger than a second granularity of the application-specific blocks; an index stored in memory that maps the plurality of storage blocks with corresponding application-level blocks, wherein each of the plurality of storage blocks in the secondary copy spans a plurality of the application-level blocks; in response to instructions to retrieve one or more requested application-level blocks associated with of a database file from the secondary copy, one or more secondary storage controller computers comprising computer hardware are configured to; access the index that provides a mapping between the plurality of requested application-level blocks and corresponding plurality of storage blocks; retrieve the corresponding plurality of storage blocks from the secondary copy; and a data agent executing on one or more computer processors and configured to divide the corresponding plurality of storage blocks retrieved from the secondary copy into the one or more requested application-level blocks; and a database application executing on one or more computer processors, the database application in communication with the data agent, the database application configured to receive the requested application-level blocks from the data agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of protecting database files, the method comprising:
-
storing a plurality of application-level blocks associated with a database on one or more primary storage devices and storing a secondary copy of the database with a plurality of storage blocks on one or more secondary storage devices, the plurality of storage blocks having a first granularity that is larger than a second granularity of the application-specific blocks; storing an index in memory that maps the plurality of storage blocks with corresponding application-level blocks wherein each of the plurality of storage blocks in the secondary copy spans a plurality of the application-level blocks; in response to instructions to retrieve one or more requested application-level blocks of a database file from the secondary copy; accessing the index with one or more computer processors, the index mapping the plurality of requested application-level blocks with a corresponding plurality of storage blocks stored in the secondary copy; retrieving the corresponding plurality of storage blocks from the secondary copy; and dividing, with one or more computer processors, the corresponding plurality of storage blocks retrieved from the secondary copy into the one or more requested application-level blocks; and receiving at a database application executing on the processor, the requested application-level blocks. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
Specification