Parallel recovery by non-failed nodes
First Claim
1. A method for managing data, the method comprising the steps of:
- maintaining a plurality of persistent data items on persistent storage accessible to a plurality of nodes, the persistent data items including a particular data item stored at a particular location on said persistent storage;
assigning exclusive ownership of each of the persistent data items to one of the nodes, wherein a particular node of said plurality of nodes is assigned exclusive ownership of said particular data item;
when any node wants an operation to be performed that involves said particular data item, the node that desires the operation to be performed ships the operation to the particular node for the particular node to perform the operation on the particular data item as said particular data item is exclusively owned by said particular node;
in response to a failure that involves a set of persistent data items exclusively owned by a single node, performing the steps of;
assigning, to each of two or more recovery nodes, exclusive ownership of a subset of the set of persistent data items that were involved in the failure; and
each recovery node of the two or more recovery nodes performing a recovery operation on the subset of persistent data items that were assigned to the recovery node.
1 Assignment
0 Petitions
Accused Products
Abstract
Various techniques are described for improving the performance of a shared-nothing database system in which at least two of the nodes that are running the shared-nothing database system have shared access to a disk. Specifically, techniques are provided for recovering the data owned by a failed node using multiple recovery nodes operating in parallel. The data owned by a failed node is reassigned to recovery nodes that have access to the shared disk on which the data resides. The recovery logs of the failed node are read by the recovery nodes, or by a coordinator process that distributes the recovery tasks to the recovery nodes.
150 Citations
26 Claims
-
1. A method for managing data, the method comprising the steps of:
-
maintaining a plurality of persistent data items on persistent storage accessible to a plurality of nodes, the persistent data items including a particular data item stored at a particular location on said persistent storage;
assigning exclusive ownership of each of the persistent data items to one of the nodes, wherein a particular node of said plurality of nodes is assigned exclusive ownership of said particular data item;
when any node wants an operation to be performed that involves said particular data item, the node that desires the operation to be performed ships the operation to the particular node for the particular node to perform the operation on the particular data item as said particular data item is exclusively owned by said particular node;
in response to a failure that involves a set of persistent data items exclusively owned by a single node, performing the steps of;
assigning, to each of two or more recovery nodes, exclusive ownership of a subset of the set of persistent data items that were involved in the failure; and
each recovery node of the two or more recovery nodes performing a recovery operation on the subset of persistent data items that were assigned to the recovery node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification