×

Scalable log-based continuous data protection for distributed databases

  • US 10,423,493 B1
  • Filed: 12/21/2015
  • Issued: 09/24/2019
  • Est. Priority Date: 12/21/2015
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • a plurality of computing devices of a distributed non-relational database service of a provider network;

    wherein the plurality of computing devices are configured to;

    receive a request from a client via a programmatic interface to enable continuous data protection for a particular table to provide for point-in-time restore of the particular table, wherein at least a portion of the particular table is stored at one or more storage devices using an overwrite-in-place protocol;

    in response to the request from the client to enable continuous data protection, initiate;

    (a) transmission of change records of the particular table to a log-structured journal at which a write-once protocol is implemented, wherein a particular change record includes;

    one or more before-values for one or more records modified in the particular table by a write operation directed to the particular table,one or more after-values for the one or more records modified in the particular table by the write operation directed to the particular table, anda respective sequence number indicative of an order in which the change records are processed by a journal manager of the log-structured journal, and(b) generation of a sequence of snapshots of the particular table, wherein a particular snapshot of the sequence of snapshots represents write operations performed on the particular table up to a corresponding snapshot request time, and wherein the particular snapshot is stored at a service other than the distributed non-relational database service;

    in response to determining that a point-in-time restore operation with a targeted restoration time of the particular table is to be performed,identify, with respect to a selected snapshot of the sequence of snapshots, a restore record set stored in the log-structured journal, wherein a starting sequence number of the change records in the restore record set corresponds to a first change record which is not represented in the selected snapshot, and wherein an ending sequence number of the change records in the restore record set corresponds to a second change record which was inserted into the log-structured journal no later than the targeted restoration time;

    initiate application of changes indicated in the restore record set to the selected snapshot to generate a restore-result table; and

    provide an indication of the restore-result table to the client.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×