| CPC G06F 11/1469 (2013.01) [G06F 11/1435 (2013.01); G06F 11/1464 (2013.01); G06F 2201/80 (2013.01)] | 18 Claims |

|
1. A system comprising:
a backup layer comprising:
a first backup location storing a backup of a first shard of a first database table of a database of a first tenant, the first shard including a first key range of the first database table;
a second backup location storing a backup of a second shard of the first database table, the second shard including a second key range of the first database table;
a plurality of storage nodes of a storage layer, each of the plurality of storage nodes comprising a respective processing unit and a respective data storage device; and
a manager node comprising a first processing unit and a first data storage device, the manager node to:
receive a first request to recover data of the database to a point in time;
in response to the first request:
determine that the backup of the first shard corresponds to the point in time and the backup of the second shard corresponds to the point in time; and
generate first metadata associating the second tenant with the first shard and the second shard, the first shard with the backup of the first shard, and the second shard with the backup of the second shard;
receive a second request to access the first shard and the second shard from a requestor associated with the second tenant; and
in response to the second request:
determine based on the first metadata that the first shard and the second shard are not stored in any of the plurality of storage nodes; and
in response to the determination that the first shard and the second shard are not stored in any of the plurality of storage nodes:
instruct recovery of the first shard to a first storage node of the plurality of storage nodes from the first backup location;
instruct recovery of the second shard to a second storage node of the plurality of storage nodes from the second backup location; and
return an identifier of the first storage node and an identifier of the second storage node to the requestor.
|