Parallel database page flusher
AssigneeSap SE
InventorDirk Thomsen
Life of this patent
Estimating the term…
Abstract
Execution of a page flusher is initiated in an in-memory database system in which pages are loaded into memory and having associated physical disk storage. Thereafter, pages are identified that have been loaded into the memory of the database system and which have been modified. These identified pages are to be flushed to the physical disk storage. Each page is assigned with a different ordered physical page number. Asynchronous write I/O is later triggered causing the identified pages to be flushed to the physical disk storage and stored in the physical disk storage according to their assigned physical page numbers.
Claims19
A computer-implemented method comprising:
- initiating, in an in-memory database system in which pages are loaded into memory and having associated physical disk storage, execution of a page flusher;
- identifying pages loaded into the memory of the database system that have been modified and which are to be flushed to the physical disk storage, wherein the identification of pages to be flushed to disk is based on whether the pages were last modified outside an associated pre-defined time window;
- placing the modified pages in a queue;
- assigning each identified page with a different ordered physical page number according to the modified pages respective locations within the queue, the physical page numbers being used to specify where to store each page on the physical disk storage;
- and
- triggering asynchronous write I/O causing the identified pages to be flushed to the physical disk storage and stored in the physical disk storage according to their assigned physical page numbers;
- wherein:
- the identifying further determines a type of page for each modified page;
- at least one type of modified page has a different pre-defined time window as compared to at least one other type of modified page such that pages are flushed to physical disk storage at different times based on the pre-defined time windows for their corresponding type.
A computer-implemented method comprising:
- initiating, in an in-memory database system in which pages are loaded into memory and having associated physical disk storage, execution of a page flusher as part of a savepoint;
- identifying pages loaded into the memory of the database system that have been modified and which are to be flushed to the physical disk storage, wherein the identification of pages to be flushed to disk is based on whether the pages were last modified outside an associated pre-defined time window;
- assigning the identified pages each with a respective different physical page number, the physical page numbers being used to specify where to store each page on the physical disk storage;
- generating, for each identified page during a critical phase of the savepoint, a shadow page in the memory of the in-memory database system;
- and
- triggering asynchronous write I/O causing the shadow pages corresponding to the identified pages to be flushed to the physical disk storage in an order corresponding to the associated physical page number;
- wherein:
- the identifying further determines a type of page for each modified page;
- at least one type of modified page has a different pre-defined time window as compared to at least one other type of modified page such that pages are flushed to physical disk storage at different times based on the pre-defined time windows for their corresponding type.
A computer-implemented method comprising:
- initiating, in an in-memory database system in which pages are loaded into memory and having associated physical disk storage, execution of a page flusher;
- identifying pages loaded into the memory of the database system that have been modified and which are to be flushed to the physical disk storage, wherein the identification of pages to be flushed to disk is based on whether the pages were last modified outside an associated pre-defined time window;
- placing the identified pages within one of a plurality of queues;
- assigning, by a main thread, each identified page with a different ordered physical page number according to their respective placement within the corresponding queue, the physical page numbers being used to specify where to store each page on the physical disk storage;
- and
- triggering asynchronous write I/O causing the identified pages to be flushed, by a plurality of helper threads executing in parallel, to the physical disk storage and stored in the physical disk storage according to their assigned physical page numbers;
- wherein:
- the identifying further determines a type of page for each modified page;
- at least one type of modified page has a different pre-defined time window as compared to at least one other type of modified page such that pages are flushed to physical disk storage at different times based on the pre-defined time windows for their corresponding type.
Dependencies are inferred from the claim text.