Cloning and recovery of data volumes
AssigneeAmazon Technologies, Inc.
InventorsGrant Alexander MacDonald McAlister, Milovan Milovanovic
Life of this patent
Estimating the term…
Abstract
Aspects of a data environment, such as the cloning, hibernation, and recovery of databases, are managed using a separate control environment. A monitoring component of the control environment can periodically communicate with the data environment to determine any necessary actions to be performed, such as to recover from faults or events for a data instance in the data environment. A workflow can be instantiated that includes tasks necessary to perform actions such as recovery, hibernation, resumption from hibernation, or backup or cloning. Tasks of the workflow can cause certain jobs to be performed by host managers in the data environment to affect calls made to the control environment.
Claims20
A system, comprising:
- at least one processor;
- and
- a memory, storing program instructions that when executed by the at least one processor cause the at least one processor to implement a database service, wherein the database service hosts databases on different respective instances, and wherein the database service is configured to:
- receive, via an API, a request for an operation that creates a new database from an existing snapshot of an existing database;
- wherein, in response to receiving, via the API, the request for the operation that creates the new database from the existing snapshot of the existing database, the database service is further configured to:
- determine the existing snapshot of the existing database, according to point in time information provided in the request, from a plurality of existing snapshots of the existing database, wherein the determined existing snapshot is stored in data storage and is not an active database, wherein the existing database comprises a plurality of data items, and wherein individual ones of the plurality of existing snapshots replicate the entire existing database at different respective points in time;
- provision a new instance on which to create the new database, distinct from either the existing database or the existing snapshot, with a new identifier different than either the existing database or the existing snapshot;
- and
- subsequent to provisioning the new instance, copy the determined existing snapshot of the existing database to the provisioned new instance to create the new database having the new identifier.
A method implemented in at least one computing device, the method comprising:
- receiving, via an API, a request for an operation that creates a new database from an existing snapshot of an existing database;
- wherein in response to receiving the request for the operation that creates the new database from the existing snapshot of the existing database, the method further comprising:
- determining the existing snapshot of the existing database, according to point in time information provided in the request, from a plurality of existing snapshots of the existing database, wherein the determined existing snapshot is stored in data storage and is not an active database, wherein the existing database comprises a plurality of data items, and wherein individual ones of the plurality of existing snapshots replicate the entire existing database at different respective points in time;
- provisioning a new instance on which to create the new database, distinct from either the existing database or the existing snapshot, with a new identifier different than either the existing database or the existing snapshot;
- and
- subsequent to provisioning the new instance, copying the determined existing snapshot of the existing database to the provisioned new instance to create the new database.
One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices of a database service cause the one or more computing devices to implement:
- receiving, via an API, a request for an operation that creates a new database from an existing snapshot of an existing database;
- wherein in response to receiving the request for the operation that creates the new database from the existing snapshot of the existing database, the program instructions cause the one or more computing devices to further implement:
- determining the existing snapshot of the existing database, according to point in time information provided in the request, from a plurality of existing snapshots of the existing database, wherein the determined existing snapshot is stored in data storage and is not an active database, wherein the existing database comprises a plurality of data items, and wherein individual ones of the plurality of existing snapshots replicate the entire existing database at different respective points in time;
- provisioning a new instance on which to create the new database, distinct from either the existing database or the existing snapshot, with a different identification than either the existing database or the existing snapshot;
- and
- subsequent to provisioning the new instance, copying the determined existing snapshot of the existing database to the provisioned new instance to create the new database.
Dependencies are inferred from the claim text.