Distributed Database Log Recovery
First Claim
1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
- recording, in a data storage application, log entries for a plurality of transactions among nodes in a node hierarchy, the node hierarchy comprising a master node having a plurality of slave nodes;
replaying at least a portion of the master node log entries until a first replay position is reached;
replaying, for each slave node, at least a portion of its respective log entries until the first replay position is reached; and
initiating, by the master node in parallel to at least a portion of the replaying by the slave nodes, replay of at least a portion of its log entries subsequent to the first replay position.
2 Assignments
0 Petitions
Accused Products
Abstract
Log entries are recorded in a data storage application (such as an in-memory database, etc.) for a plurality of transactions among nodes in a node hierarchy. The node hierarchy comprises master node having a plurality of slave nodes. Thereafter, at least a portion of the master node log entries are replayed until a first replay position is reached. Next, for each slave node, at least a portion of its respective log entries are replayed until the first replay position is reached (or an error occurs). Subsequently, replay of at least a portion of the log entries of the master node that are subsequent to the first replay position is initiated by the master node in parallel to at least a portion of the replaying by the slave nodes. Related apparatus, systems, techniques and articles are also described.
87 Citations
20 Claims
-
1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
-
recording, in a data storage application, log entries for a plurality of transactions among nodes in a node hierarchy, the node hierarchy comprising a master node having a plurality of slave nodes; replaying at least a portion of the master node log entries until a first replay position is reached; replaying, for each slave node, at least a portion of its respective log entries until the first replay position is reached; and initiating, by the master node in parallel to at least a portion of the replaying by the slave nodes, replay of at least a portion of its log entries subsequent to the first replay position. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
recording, in a data storage application, log entries for a plurality of transactions among nodes in a node hierarchy, the node hierarchy comprising at least one master node having a plurality of slave nodes; replaying, for each master node, at least a portion of its log entries until a first replay position is reached; replaying, for each slave node of a corresponding master node, at least a portion of its respective log entries until a maximum recoverable position prior to the first replay position is reached on one of the slave nodes, the maximum recoverable position representing a latest transactionally-consistent state; and replaying the log entries on the at least one master node and the corresponding slave nodes to the maximum recoverable position. - View Dependent Claims (17, 18)
-
-
19. A system comprising:
-
at least one data processor; memory coupled to the at least one data processor, the memory storing instructions to cause the at least one data processor to perform operations comprising; recording, in a data storage application, log entries for a plurality of transactions among nodes in a node hierarchy, the node hierarchy comprising at least one master node having a plurality of slave nodes; replaying, for each master node, at least a portion of its log entries until a first replay position is reached; replaying, for each slave node of a corresponding master node, at least a portion of its respective log entries until a maximum recoverable position prior to the first replay position is reached on one of the slave nodes, the maximum recoverable position representing a latest transactionally-consistent state; and replaying the log entries on the at least one master node and the corresponding slave nodes to the maximum recoverable position. - View Dependent Claims (20)
-
Specification