Managing structured data in a data storage system
Abstract
According to certain aspects, a client computing system can be configured to map stored database data into a plurality of second data units having a second level of granularity larger than first data units; store a mapping of the second data units to the first data units; monitor writes to the database data by the database application; identify of the writes changed first data units of the first data units which have changed as a result of the writes; use the mapping to identify changed second data units of the second data units which each include at least one of the changed first data units; maintain a table listing the changed second data units; and in response to instructions to create a secondary copy of the database data, consult the table to identify the changed second data units, and forward the changed second data units to secondary storage controller computer(s).
Claims
exact text as granted — not AI-modified1 . (canceled)
2 . An information management system comprising:
in response to instructions to copy database files stored as data blocks in a primary storage subsystem in a native format to one or more secondary storage devices stored in a non-native format, the one or more secondary storage controller computers configured to:
at a first time, map the data blocks in one or more database files into payload data extents, each payload data extent larger in size than a single data block, the one or more secondary storage controller computers determine payload data extent size based at least in part on whether the data blocks are stored in contiguous memory space in the primary storage subsystem;
an extent table data structure that maps the metadata associated with the data blocks into metadata extents stored in a non-native format in the secondary storage subsystem, each metadata extent in the extent table data structure comprising at least metadata, an identifier and an offset, the offset identifying a location of each metadata extent in the secondary storage subsystem;
at a second time occurring after the first time, identify modified metadata extents where the data blocks in the one or more database files remain unchanged by identifying when the changed time of the one or more database files associated with the metadata extents is changed and the modified time of the one or more database files is not changed; and
updating the modified metadata extents in the secondary storage subsystem based on the associated identifiers and offsets in the extent data structure without forwarding the unchanged payload data extents associated with the modified metadata extents.
3 . The system of claim 2 wherein the extent table structure maps the payload data extents and the metadata extents to the data blocks.
4 . The system of claim 2 further comprising a client computing system configured to detect a write operation by a database application using a filter driver associated the one or more database files.
5 . The system of claim 4 wherein the client computing system is further configured to:
determine metadata associated with one or more of the data blocks affected by the write operation from a byte offset of the write operation;
identify one or more metadata extents that include metadata affected by the write operation using the mapping of the metadata data extents to the metadata associated with the data blocks in the extent table structure; and
indicate the identified one or more metadata extents as changed in the extent table structure.
6 . The system of claim 2 further comprising a client computing system is configured to detect a change to only metadata of a first database file of the one or more database files by obtaining a changed time of the first database file and a modified time of the first database file, wherein the changed time indicates a change to the metadata of the first database file and the modified time indicates a change to the content of the first database file.
7 . The system of claim 6 , wherein the client computing system is further configured to determine that only the metadata of the first database file is changed when the changed time is changed and the modified time is not changed.
8 . The system of claim 7 , wherein the one or more secondary storage controller computers are further configured to, in response to the determination that only the metadata of the first database file is changed, copy the metadata of the first database file to a metadata data extent.
9 . The system of claim 2 wherein the client computing system is further configured to:
obtain at a first time, a metadata indication of a change occurring to metadata of the first database file;
obtain at a second time, a content indication of a change to the content of the first database file; and
determine that a change occurred to both the metadata of the first database file and the content of the first database file based on the metadata indication and the content indication.
10 . The system of claim 2 wherein at least one of the payload data extents comprises one or more blocks for a first database file and one or more blocks of a second database file.
11 . The system of claim 2 wherein one or more indexes associated with the one or more secondary storage controller computers comprise identifiers and the offsets associated with at least a portion of the metadata extents in the one or more secondary storage devices in the secondary storage subsystem.
12 . A method of protecting application data in an information management system, the method comprising:
in response to instructions to copy one or more database files stored as data blocks in a primary storage subsystem in a native format to one or more secondary storage devices stored in a non-native format, mapping at a first time the data blocks into payload data extents, each payload data extent larger in size than a single data block, wherein a payload data extent size is based at least in part on whether the data blocks are stored in contiguous memory space in the primary storage subsystem; creating an extent table data structure that maps the metadata associated with the data blocks into a metadata extents stored in a non-native format in the secondary storage subsystem, each metadata extent in the extent table data structure comprising at least metadata, an identifier and an offset, the offset identifying a location of each metadata extent in the secondary storage subsystem; at a second time occurring after the first time, identifying modified metadata where the data blocks in the one or more database files remain unchanged by identifying when the changed time of the one or more database files associated with the metadata extents is changed and the modified time of the one or more database files is not changed; and updating the modified metadata extents in the secondary storage subsystem with the modified metadata based on the associated identifiers and offsets in the extent data structure without forwarding the unchanged payload data extents associated with the modified metadata extents.
13 . The method of claim 12 wherein the extent data table includes the mapping of the payload data extents and the metadata extents to the data blocks.
14 . The method of claim 12 , further comprising detecting a write operation by a database application using a filter driver associated with the database application.
15 . The method of claim 14 further comprising:
determining metadata associated with one or more data blocks affected by the write operation from a byte offset of the write operation;
identifying one or more metadata data extents that include the metadata affected by the write operation using the mapping of the metadata extents to the metadata associated with the data blocks; and
indicating the identified one or more metadata extents as changed in the table.
16 . The method of claim 12 further comprising, detecting a change to only metadata of a first database file by obtaining a changed time of the first database file and a modified time of the first database file, wherein the changed time indicates a change to content or the metadata of the first database file and the modified time indicates a change to the content of the first database file.
17 . The method of claim 16 further comprising determining that only the metadata of the first database file is changed when the changed time is changed and the modified time is not changed.
18 . The method of claim 17 further comprising using the one or more secondary storage controller computers, in response to the determination that only the metadata of the first file is changed, to copy the metadata of the first database file to a metadata extent.
19 . The system of claim 12 further comprising:
obtaining at a first time, a metadata indication of a change occurring to metadata of a first database file;
obtaining at a second time, a content indication of a change to the content of the first database file; and
determine that a change occurred to both the metadata of the first database file and the content of the first database file based on the metadata indication and the content indication.
20 . The method of claim 12 wherein at least one of the payload data extents comprises one or more blocks for a first database file and one or more blocks of a second database file.
21 . The method of claim 12 wherein one or more indexes associated with the one or more secondary storage controller computers comprise identifiers and the offsets associated with at least a portion of the metadata extents in the one or more secondary storage devices in the secondary storage subsystemJoin the waitlist — get patent alerts
Track US2019227990A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.