Point in time database restore from storage snapshots
US-9558078-B2 · Jan 31, 2017 · US
US10657004B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10657004-B1 |
| Application number | US-201514665742-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 23, 2015 |
| Priority date | Mar 23, 2015 |
| Publication date | May 19, 2020 |
| Grant date | May 19, 2020 |
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.
Methods, systems, and computer-readable media for single-tenant recovery with a multi-tenant archive are disclosed. A snapshot of a data store is stored at a first point in time. The data store comprises data elements provided by a plurality of clients. Incremental changes to the data store are stored after the first point in time. The incremental changes comprise changes to the data elements provided by the clients. A request is received to restore a particular subset of the data elements to a second point in time. The particular subset of the data elements are owned by a particular client. The particular subset of the data elements from the snapshot and a particular subset of the incremental changes are restored. The particular subset of the incremental changes comprise incremental changes to the particular subset of the data elements stored between the first and second points in time.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: one or more computing devices configured to implement a multi-tenant archiving system, wherein the multi-tenant archiving system is configured to: store a plurality of snapshots of a multi-tenant data store at a plurality of points in time, wherein the multi-tenant data store comprises a plurality of key-value pairs provided by a plurality of clients; store a plurality of incremental changes to the multi-tenant data store between individual ones of the plurality of snapshots, wherein the plurality of incremental changes comprise a plurality of changes to individual ones of the plurality of key-value pairs provided by the plurality of clients; receive a request from a particular client of the plurality of clients to restore a particular subset of the key-value pairs to a particular point in time, wherein the request comprises information identifying the particular subset of the key-value pairs and the particular point in time, and wherein the particular subset of the key-value pairs, for which the request to restore is received, are owned by the particular client of the plurality of clients; retrieve a particular snapshot of the plurality of snapshots, wherein the particular snapshot was stored prior to the particular point in time; retrieve a particular subset of the incremental changes, wherein the particular subset of the incremental changes comprise incremental changes to the particular subset of the key-value pairs that are owned by the particular client of the plurality of clients, and wherein the particular subset of the incremental changes were stored after the particular snapshot was stored and up to the particular point in time; and restore, to the multi-tenant data store, the particular subset of the key-value pairs that are owned by the particular client of the plurality of clients, from the particular snapshot and the particular subset of the incremental changes, wherein at least one key-value pair of the plurality of key-value pairs not owned by the particular client is not restored to the multi-tenant data store with the restoration of the particular subset of the key-value pairs. 2. The system as recited in claim 1 , wherein the multi-tenant archiving system is further configured to: enqueue a restore job in a queue, wherein the restore job comprises one or more instructions to restore the particular subset of the key-value pairs to the particular point in time; and send the restore job from the queue to a particular worker of a fleet of workers; and wherein the particular subset of the key-value pairs from the particular snapshot and the particular subset of the incremental changes are restored using the particular worker. 3. The system as recited in claim 1 , wherein the multi-tenant archiving system is further configured to: retrieve, from the particular snapshot, individual ones of the key-value pairs having a particular prefix, wherein the particular prefix indicates membership in the particular subset of the key-value pairs. 4. The system as recited in claim 1 , wherein the particular subset of the key-value pairs and the particular subset of the incremental changes belong to an original scope in the multi-tenant data store, wherein the particular subset of the key-value pairs from the snapshot and the particular subset of the incremental changes are restored to a new scope in the multi-tenant data store, and wherein the multi-tenant archiving system is further configured to: make the original scope point to the new scope in the multi-tenant data store. 5. A computer-implemented method, comprising: receiving from a particular client of the plurality of clients a request to restore a particular subset of data elements in a data store to a second point in time, wherein the request comprises information identifying the particular subset of data elements and the second point in time, and wherein the data store comprises a plurality of data elements provided by a plurality of clients, and wherein the particular subset of the data elements are owned by the particular client of the plurality of clients; restoring the particular subset of the data elements owned by the particular client of the plurality of clients from a snapshot of the data store, wherein the snapshot was stored at a first point in time prior to the second point in time, and wherein at least one data element of the plurality of data elements not owned by the particular client is not restored with the restoration of the particular subset of the data elements; and restoring a particular subset of a plurality of incremental changes stored in a change log, wherein the particular subset of the incremental changes comprise incremental changes to the particular subset of the data elements owned by the particular client, wherein the particular subset of the incremental changes were stored between the snapshot and the second point in time, and wherein at least one incremental change of the plurality of incremental changes not owned by the particular client is not restored with the restoration of the particular subset of the plurality of incremental change. 6. The method as recited in claim 5 , further comprising: enqueuing a restore job in a queue, wherein the restore job comprises one or more instructions to restore the particular subset of the data elements to the second point in time; and sending the restore job from the queue to a particular worker of a fleet of workers; and wherein the particular subset of the data elements from the snapshot and the particular subset of the incremental changes are restored using the particular worker. 7. The method as recited in claim 6 , wherein the data store comprises a plurality of partitions, and wherein individual ones of the partitions are assigned to individual ones of the workers. 8. The method as recited in claim 5 , wherein restoring the particular subset of the data elements from the snapshot further comprises: retrieving, from the snapshot, individual ones of the data elements having a particular prefix, wherein the particular prefix indicates membership in the particular subset of the data elements. 9. The method as recited in claim 5 , wherein the particular subset of the data elements and the particular subset of the incremental changes belong to an original scope in the data store, and wherein the particular subset of the data elements from the snapshot and the particular subset of the incremental changes are restored to a new scope in the data store. 10. The method as recited in claim 9 , further comprising: making the original scope point to the new scope in the data store. 11. The method as recited in claim 5 , wherein the particular subset of the data elements from the snapshot and the particular subset of the incremental changes are restored to the data store. 12. The method as recited in claim 5 , wherein the particular subset of the data elements from the snapshot and the particular subset of the incremental changes are restored to another data store. 13. The method as recited in claim 5 , further comprising: in response to receiving the request to restore the particular subset of the data elements to the second point in time, selecting the snapshot stored at the first point in time from a set of snapshots, wherein none of the other snapshots in the set of snapshots were stored between the first point in time and the second point in time. 14. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform: storing a plurality of snapshots of a data store at a plurality of points in time, wherei
Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion (error detection or correction of the data by redundancy in operations or in hardware G06F11/14, G06F11/16) · CPC title
Point-in-time backing up or restoration of persistent data · CPC title
involving logging of persistent data for recovery · CPC title
for networked environments · CPC title
using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.