×

Efficient recovery of transactional data stores

  • US 8,954,385 B2
  • Filed: 06/28/2011
  • Issued: 02/10/2015
  • Est. Priority Date: 06/28/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method of recovering a respective node of a distributed transactional system that comprises three or more nodes, the method comprising:

  • at a second node of the distributed transactional system having a second set of one or more storage devices;

    receiving a copy of at least a portion of a first data store from a first node of the distributed transactional system having a first set of one or more storage devices;

    in response to receiving the copy of at least the portion of the first data store, creating a second data store based on the copy of at least the portion the first data store;

    concurrent with the second node creating the second data store;

    receiving committed transaction data from a plurality of nodes other than the second node, wherein the plurality of nodes at least includes the first node, and a third node of the distributed transactional system having a third set of one or more storage devices, and wherein the first, second, and third nodes each execute at least one distinct instance of the distributed transaction system; and

    storing the committed transaction data, wherein a respective portion of the committed transaction data describes a transaction committed against a respective data store maintained by a corresponding node of the plurality of nodes other than the second node; and

    the method further comprising, at the second node;

    identifying a reference commit number, wherein the reference commit number is a most recent global commit number for transactions committed against the copy of at least the portion of the first data store;

    identifying, from the committed transaction data stored by the second node, one or more transactions having a global commit number that is lower than or equal to the reference commit number;

    disregarding the identified one or more transactions having a global commit number that is lower than or equal to the reference commit number; and

    replaying, against the second data store, any transactions identified by the committed transaction data as having a global commit number that is greater than the reference commit number.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×