Point in time database restore from storage snapshots
US-9558078-B2 · Jan 31, 2017 · US
US10915516B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10915516-B2 |
| Application number | US-201715786829-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 18, 2017 |
| Priority date | Oct 18, 2017 |
| Publication date | Feb 9, 2021 |
| Grant date | Feb 9, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, and computer-readable media for storing data in a data storage system using a child table. In some examples, a trickle update to first data in a parent table is received at a data storage system storing the first data in the parent table. A child table storing second data can be created in persistent memory for the parent table. Subsequently the trickle update can be stored in the child table as part of the second data stored in the child table. The second data including the trickle update stored in the child table can be used to satisfy, at least in part, one or more data queries for the parent table using the child table.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, at a data storage system storing first data in a parent table, a trickle update to the first data stored in the parent table; creating a child table in persistent memory for the parent table, the child table storing second data; storing the trickle update in the child table as part of the second data stored in the child table according to a configurable periodicity for storing data in the child table absent one or more indices; utilizing the second data including the trickle update stored in the child table to satisfy, at least in part, one or more data queries for the parent table using the child table; writinq at least a portion of the second data including the trickle update stored in the child table to the parent table; indexing the at least the portion of the second data including the trickle update for use in accessinq the at least a portion of the second data including the trickle update from the parent table; flushing the at least the portion of the second data including the trickle update written from the child table in response to writinq the at least a portion of the second data including the trickle update in the parent table; and wherein the at least the portion of the second data including the trickle update is written into the parent table using a background thread to allow answering of data queries from the second data stored in the child table while the at least the portion of the second data including the trickle update is written into the parent table and until the at least the portion of the second data including the trickle update is flushed from the child table. 2. The method of claim 1 , further comprising: receiving a data query for the parent table; scanning the child table to determine whether the data query can be satisfied by the child table using the second data including the trickle update stored in the child table; and providing at least a portion of the second data stored in the child table from the child table to satisfy the data query, if it is determined that the data query can be satisfied by the child table. 3. The method of claim 1 , further comprising: receiving a data query for the parent table; scanning the child table to determine whether the data query can be satisfied by the child table using the second data including the trickle update stored in the child table; and providing at least a portion of the first data stored in the parent table to satisfy the data query, if it is determined that the data query is unable to be satisfied by the child table. 4. The method of claim 1 , wherein the second data is stored in the child table in the persistent memory without indices. 5. The method of claim 1 , further comprising: determining whether to write the at least the portion of the second data including the trickle update from the child table into the parent table; and writing the at least the portion of the second data including the trickle update to the parent table if it is determined to write the at least the portion of the second data including the trickle update from the child table into the parent table. 6. The method of claim 5 , wherein it is determined whether to write the at least the portion of the second data including the trickle update from the child table into the parent table based on an amount of second data stored in the child table. 7. The method of claim 5 , wherein it is determined whether to write the at least the portion of the second data including the trickle update from the child table into the parent table based on a user-configurable threshold amount of second data stored in the child table. 8. The method of claim 5 , wherein it is determined whether to write the at least the portion of the second data including the trickle update from the child table into the parent table based on a configurable amount of time. 9. The method of claim 8 , wherein the configurable amount of time includes an amount of time that the at least the portion of the second data including the trickle update has been written in the child table. 10. The method of claim 1 , wherein the trickle update includes late arriving data. 11. The method of claim 1 , wherein the trickle update is stored at a bit level in the child table and the first data including the trickle update is accessible from the child table at the bit level. 12. The method of claim 1 , wherein the child table is implemented as a hash table in the persistent memory. 13. A system comprising: one or more processors; and at least one computer-readable storage medium having stored therein instructions which, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving, at a data storage system storing first data in a parent table, a trickle update to the first data stored in the parent table; creating a child table in persistent memory for the parent table, the child table storing second data; storing the trickle update at a bit level in the child table as part of the second data stored in the child table according to a configurable periodicity for storing data in the child table absent one or more indices; utilizing the second data including the trickle update stored in the child table to satisfy, at least in part, one or more data queries for the parent table using the child table; writing at least a portion of the second data including the trickle update stored in the child table to the parent table; indexing the at least the portion of the second data including the trickle update for use in accessing the at least a portion of the second data including the trickle update from the parent table; flushing the at least the portion of the second data including the trickle update written from the child table in response to writing the at least a portion of the second data including the trickle update in the parent table; and wherein the at least the portion of the second data including the trickle update is written into the parent table using a background thread to allow answering of data queries from the second data stored in the child table while the at least the portion of the second data including the trickle update is written into the parent table and until the at least the portion of the second data including the trickle update is flushed from the child table. 14. The system of claim 13 , wherein the instructions which, when executed by the one or more processors, further cause the one or more processors to perform operations comprising: receiving a data query for the parent table; scanning the child table to determine whether the data query can be satisfied by the child table using the second data including the trickle update stored in the child table; and providing at least a portion of the second data stored in the child table from the child table to satisfy the data query, if it is determined that the data query can be satisfied by the child table. 15. The system of claim 13 , wherein it is determined whether to write the at least the portion of the second data including the trickle update from the child table into the parent table based on an amount of second data stored in the child table. 16. The system of claim 13 , wherein it is determined whether to write the at least the portion of the second data including the trickle update from the child table into the parent table based on a configurable amount of time. 17. A non-transitory computer-readable storage medium having stored therein instructions wh
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Structured object, e.g. database record · CPC title
Server or database system · CPC title
Non-volatile memory · CPC title
Networked environment · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.