US 12,493,527 B2
Backup and restore in a distributed database utilizing consistent database snapshots
Ross R. Shaull, Waltham, MA (US)
Assigned to DASSAULT SYSTEMES SE, Velizy Villacoublay (FR)
Filed by DASSAULT SYSTEMES SE, Velizy Villacoublay (FR)
Filed on Dec. 2, 2020, as Appl. No. 17/109,353.
Application 17/109,353 is a continuation of application No. 14/688,396, filed on Apr. 16, 2015, granted, now 10,884,869.
Prior Publication US 2021/0173746 A1, Jun. 10, 2021
Int. Cl. G06F 11/14 (2006.01); G06F 16/21 (2019.01); G06F 16/23 (2019.01); G06F 16/27 (2019.01)
CPC G06F 11/1458 (2013.01) [G06F 16/219 (2019.01); G06F 16/2365 (2019.01); G06F 16/27 (2019.01); G06F 2201/82 (2013.01); G06F 2201/84 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A distributed database system storing a set of data structures forming a distributed database, each data structure in the set of data structures containing a corresponding current version of a database object and a predetermined number of past versions of the database object, the set of data structures containing all the database objects, the distributed database system comprising a plurality of nodes, each node in the plurality of nodes comprising a corresponding processor, a corresponding memory, and a corresponding network interface, the plurality of nodes comprising:
transaction engine (TE) nodes, the TE nodes including a first TE node to store a first copy of a first data structure in the set of data structures, to commit a transaction on the first copy of the first data structure in response to a request from a client, to transmit a replication message with instructions to manipulate the first data structure based on the transaction to other nodes in the plurality of nodes containing respective copies of the first data structure, to remove a past version of a first database object from the first data structure, and to transmit a destructive replication message with instructions to remove the past version of the first database object from the first data structure to the other nodes in the plurality of nodes containing respective copies of the first data structure;
a storage manager (SM) node, communicatively coupled to each TE node, to store a first complete copy of the set of data structures, to provide copies of data structures in the set of data structures to the TE nodes, to manipulate the first data structure in the first complete copy of the set of data structures in response to the replication message, and to remove the past version of the first database object from the first data structure in the first complete copy of the set of data structures in response to the destructive replication message; and
a snapshot storage manager (SSM) node, communicatively coupled to each TE node and to the SM node, to:
store a second complete copy of the set of data structures;
manipulate the first data structure in the second complete copy of the set of data structures in response to the replication message;
declare a first snapshot in response to the replication message, the first snapshot representing a state of the distributed database when the transaction completed;
create, in response to the destructive replication message, a read-only copy of the past version of the first database object before removal of the past version of the first database object from the first data structure in the second complete copy of the set of data structures;
store the read-only copy of the past version of the first database object in durable storage;
update the first snapshot to reference the read-only copy of the past version of the first database object, and
remove the past version of the first data structure in the second complete copy of the set of data structures.