US 12,229,120 B1
Database versioning based on transactions
Asaf Levy, Tel Aviv (IL); and Eyal Gordon, Tel Aviv (IL)
Assigned to VAST DATA LTD., Tel Aviv (IL)
Filed by VAST DATA LTD., Tel Aviv (IL)
Filed on Aug. 28, 2023, as Appl. No. 18/457,316.
Int. Cl. G06F 7/00 (2006.01); G06F 16/21 (2019.01); G06F 16/23 (2019.01); G06F 17/00 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/219 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method for accessing a database that is stored in a storage system,
the method comprises:
(a) receiving a request to obtain a database entity (DE) of a requested version line out of multiple version lines, wherein each version line is defined, by a user of the storage system prior to the reciving, as a sequence of transactions selected from transactions that were performed on the database, wherein the multiple version lines differ from each other by one or more transactions;
(b) obtaining, for each DE portion out of multiple DE portions of the DE, content of the DE portion as written during a transaction of the requested version line that was a last transaction, of the sequence of transactions of the requested version line, that wrote the DE portion to the database; wherein the obtaining comprises:
i. obtaining the sequence of transactions of the requested version line, from a first metadata that is indicative of identifiers of transactions that belong to each of the multiple version lines, and
ii. obtaining, from a second metadata that is indicative of which transactions were involved in writing to different logical address ranges of the database, the transactions that were involved in writing to a logical address range that is associated with the DE portion;
(c) sending a response to the request, wherein the response comprises, for each DE portion of the DE portions, the obtained content.