P
US11544180B2ActiveUtilityPatentIndex 52

In-memory database page allocation

Assignee: SAP SEPriority: May 3, 2018Filed: May 3, 2018Granted: Jan 3, 2023
Est. expiryMay 3, 2038(~11.8 yrs left)· nominal 20-yr term from priority
Inventors:THOMSEN DIRKGLEBE THORSTEN
G06F 9/45558G06F 11/2035G06F 2201/80G06F 11/2048G06F 11/1474G06F 12/023G06F 16/2365G06F 3/067G06F 12/0292G06F 2009/45583G06F 3/0604G06F 2201/84G06F 11/1438G06F 16/27G06F 11/1471G06F 12/1009
52
PatentIndex Score
0
Cited by
15
References
12
Claims

Abstract

A provisional page to be filled with data is allocated in an in-memory database system in which pages are loaded into memory and having associated physical disk storage a provisional page to be filled with data. Thereafter, the provisional page is filled with data. The provisional page is register after the provisional page has been filled with data such that consistent changes in the database are not required for the provisional page prior to the registering.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method comprising:
 allocating, in an in-memory database in which pages are loaded into memory and having associated physical disk storage and a persistence layer using a combination of logs, shadow paging, and savepoints to manage durability and atomicity of transactions, a provisional page in the memory of the in-memory database to be filled with data, wherein the allocating the provisional page includes allocating a logical page, a corresponding page control block, and a page handle to the provisional page in the memory, wherein the allocating the provisional page does not allocate a new logical page number to the provisional page; 
 prior to inserting the provisional page in a resource container in the persistence layer of the in-memory database, filling the provisional page with data, wherein filling the provisional page with data occurs without acquiring a consistent change such that filling the provisional page with data does not block a savepoint for the in-memory database from entering a critical phase; 
 after filling the provisional page with data, acquiring a consistent change; and 
 after filling the provisional page with data, registering the provisional page in the resource container within the acquired consistent change, the registering of the provisional page comprising:
 passing the page handle; 
 in response to passing the page handle, assigning a new logical page number to the provisional page filled with data; 
 after assigning the new logical page number to the provisional page filled with data, inserting the provisional page filled with data into the resource container as a registered page using the new logical page number; and 
 marking the registered page as modified, wherein the marking of the registered page as having been modified causes the registered page to be subsequently flushed to physical disk. 
 
 
     
     
       2. The method of  claim 1 , wherein a plurality of provisional pages are registered together as part of a single consistent change. 
     
     
       3. The method of  claim 1 , wherein a plurality of provisional pages are registered together as part of a single consistent change. 
     
     
       4. The method of  claim 1 , wherein the provisional page is filled with data as part of a delta merge operation. 
     
     
       5. A system comprising:
 at least one data processor; and 
 memory storing instructions which, when executed by at least one data processor, result in operations comprising:
 allocating, in an in-memory database in which pages are loaded into memory and having associated physical disk storage and a persistence layer using a combination of logs, shadow paging, and savepoints to manage durability and atomicity of transactions, a provisional page in the memory of the in-memory database to be filled with data, wherein the allocating the provisional page includes allocating a logical page, a corresponding page control block, and a page handle to the provisional page in the memory, wherein the allocating the provisional page does not allocate a new logical page number to the provisional page; 
 initiating a savepoint for the in-memory database; 
 prior to inserting the provisional page in a resource container in the persistence layer of the in-memory database, filling the provisional page with data, wherein filling the provisional page with data occurs without acquiring a consistent change, wherein filling the provisional page with data does not block the savepoint from entering a critical phase; 
 after filing the provisional page with data, acquiring a consistent change; and 
 after filling the provisional page with data, registering the provisional page in the resource container within the acquired consistent change, the registering of the provisional page comprising:
 passing the page handle; 
 in response to passing the page handle, assigning a new logical page number to the provisional page filled with data; 
 after assigning the new logical page number to the provisional page filled with data, inserting the provisional page filled with data into the resource container as a registered page using the new logical page number; and 
 marking the registered page as modified, wherein the marking of the registered page as having been modified causes the registered page to be subsequently flushed to physical disk. 
 
 
 
     
     
       6. The system of  claim 5 , wherein a plurality of provisional pages are registered together as part of a single consistent change. 
     
     
       7. The system of  claim 5  further comprising the in-memory database. 
     
     
       8. The system of  claim 5 , wherein the provisional page is filled with data as part of a delta merge operation. 
     
     
       9. A non-transitory computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing device, result in operations comprising:
 allocating, in an in-memory database in which pages are loaded into memory and having associated physical disk storage and a persistence layer using a combination of logs, shadow paging, and savepoints to manage durability and atomicity of transactions, a provisional page in the memory of the in-memory database to be filled with data, wherein the allocating the provisional page includes allocating a logical page, a corresponding page control block, and a page handle to the provisional page in the memory, wherein the allocating the provisional page does not allocate a new logical page number to the provisional page; 
 initiating a savepoint for the in-memory database; 
 prior to inserting the provisional page into a resource container in the persistence layer of the in-memory database, filling the provisional page with data, wherein filling the provisional page with data occurs without acquiring a consistent change, wherein filling the provisional page with data does not block the savepoint from entering a critical phase; 
 after filling the provisional page with data, acquiring a consistent change; and 
 after filling the provisional page with data, registering the provisional page in the resource container within the acquired consistent change, the registering of the provisional page comprising:
 passing the page handle; 
 in response to passing the page handle, assigning a new logical page number to the provisional page; 
 after assigning the new logical page number to the provisional page filled with data, inserting the provisional page filled with data into the resource container as a registered page using the new logical page number; and 
 marking the registered page as modified, wherein the marking of the registered page as having been modified causes the registered page to be subsequently flushed to physical disk. 
 
 
     
     
       10. The computer program product of  claim 9 , wherein a plurality of provisional pages are registered together as part of a single consistent change. 
     
     
       11. The computer program product of  claim 9 , wherein a plurality of provisional pages are registered together as part of a single consistent change. 
     
     
       12. The computer program product of  claim 9 , wherein the provisional page is filled with data as part of a delta merge operation.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.