US 11,720,451 B2
Backup and recovery for distributed database with scalable transaction manager
Ivan Schreter, Malsch (DE)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on May 27, 2021, as Appl. No. 17/332,568.
Prior Publication US 2022/0382650 A1, Dec. 1, 2022
Int. Cl. G06F 7/00 (2006.01); G06F 17/00 (2019.01); G06F 11/14 (2006.01); G06F 16/23 (2019.01)
CPC G06F 11/1469 (2013.01) [G06F 11/1471 (2013.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 2201/87 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, cause operations comprising:
performing, at each of a plurality of data partitions, a point-in-time recovery to a specified time, the point-in-time recovery being performed by applying one or more transactions that have committed at each of the plurality of data partitions up to the specified time, identifying one or more open transactions that have not been committed at each of the plurality of data partitions at the specified time, querying a corresponding transaction coordinator for an outcome of any open transaction that insert, delete, or modify records from multiple data partitions, aborting any open transactions that insert, delete, or modify records from a single data partition, and determining, based at least on a response from the corresponding transaction coordinator, to commit or rollback any open transaction that insert, delete, or modify records from multiple data partitions;
performing, at each of one or more transaction coordinator partitions, the point-in-time recovery by at least determining the outcome of one or more open transactions that insert, delete, or modify records from multiple data partitions, the one or more transaction coordinator partitions aborting any transaction that remains open subsequent to the point-in-time recovery;
generating, at each of the plurality of data partitions, a first copy of a first transaction log that includes a plurality of transactions performed at each of the plurality of data partitions; and
generating, at each of the one or more transaction coordinator partitions, a second copy of a second transaction lop that includes a second plurality of transactions performed at each of the one or more transaction coordinator partitions, wherein the point-in-time recovery at each of the plurality of data partitions is performed based at least on the first copy of the first transaction lop, and wherein the point-in-time recovery at each of the one or more transaction coordinator partitions is performed based at least on the second copy of the second transaction log.