US 12,189,656 B1
Point-in-time restore with delayed instantiation
Dallas Lamont Willett, Albuquerque, NM (US); Prashant Bondada, Bothell, WA (US); Michael G. Rascher, Vancouver (CA); and Slawomir Sobon, Vancouver (CA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Nov. 27, 2018, as Appl. No. 16/201,774.
Int. Cl. G06F 16/27 (2019.01); G06F 11/14 (2006.01); G06F 16/23 (2019.01)
CPC G06F 16/275 (2019.01) [G06F 11/1451 (2013.01); G06F 11/1469 (2013.01); G06F 16/2358 (2019.01); G06F 2201/80 (2013.01); G06F 2201/805 (2013.01); G06F 2201/82 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor; and
a memory that stores computer-executable instructions that, in response to being executed by the at least one processor, cause the system to:
in response to a request to enable a point-in-time restore capability for a first virtual database instance of a first operating environment, copy a transaction log of the first virtual database instance to a storage location in the first operating environment, the first virtual database instance executing on a first virtual machine, the transaction log comprising a record of a plurality of operations requested to be performed by the first virtual database instance including respective time stamps associated with respective operations of the plurality of operations, the respective time stamps indicating a time when each respective operation was requested to be performed;
store, in the first operating environment, configuration data indicative of aspects of the first operating environment on which the first virtual database instance is dependent, wherein at least one of the aspects of the operating environment is external to the database;
replicate the transaction log and configuration data to a second operating environment, the configuration data usable to provision a second virtual database instance in the second operating environment and including at least a database schema; and
after failure of the first virtual database instance of the first operating environment and while the first operating environment is unavailable:
in response to a request to instantiate a replica of the first virtual database instance, configure the second operating environment to include aspects of the first operating environment on which the first virtual database instance was dependent, based at least in part on the configuration data replicated to the second operating environment;
execute the second virtual database instance in the second operating environment, the second virtual database instance configured to include the aspects of the first operating environment on which the first virtual database instance was dependent; and
restore data to the second virtual database instance based at least in part on:
the transaction log replicated to the second operating environment, and
a plurality of time-ordered transactions performed by the first virtual database instance recorded by the transaction log being replayed to the second virtual database instance to cause the plurality of time-ordered transactions to be respectively performed by the second virtual database instance in chronological order of the plurality of time-ordered transactions to restore the replica of the first virtual database instance by the second database re-creating each respective time-ordered transaction of the plurality of time-ordered transactions in chronological order.