Fast row to page lookup of data table using capacity index
First Claim
1. A method for implementation by one or more data processors forming part of at least one computing system, the method comprising:
- accessing a table stored in an in-memory database, the table having a plurality of rows distributed across one or more pages in the in-memory database, each of the plurality of rows associated with a unique row position value, and each of the one or more pages associated with a capacity representative of an amount of data stored on the page;
creating, based at least on capacities of each of the plurality of pages in the in-memory database, a capacity index having a plurality of entries, the creation of the capacity index comprising;
inserting, into the capacity index, an entry corresponding to a first capacity of a first page, in response to the first capacity being different than a second capacity of a second page that precedes the first page;
creating a page directory based on the capacity index, the page directory indicating a plurality of row position values included in each of the one or more pages in the in-memory database; and
executing, based at least on the page directory, a database query on the in-memory database, the execution of the query comprising;
identifying, based at least on the page directory, a page that includes a row having a target row position value; and
loading, from the in-memory database, the page that includes the row having the target row position value.
1 Assignment
0 Petitions
Accused Products
Abstract
The subject matter disclosed herein provides methods for determining the page on which a desired row position value is located. A table having a plurality of rows can be accessed. The rows can be distributed across one or more pages in an in-memory database. Each row can be associated with a unique row position value. Each page can be associated with a capacity that is representative of an amount of data stored on the page. A capacity index having a plurality of entries can be created to record changes in capacity between pages. Neighboring entries in the capacity index can have a different capacity. Each entry in the capacity index can correspond to a page. A page directory can be created based on the capacity index. The page directory can indicate all possible row position values associated with each page. Related apparatus, systems, techniques, and articles are also described.
-
Citations
20 Claims
-
1. A method for implementation by one or more data processors forming part of at least one computing system, the method comprising:
-
accessing a table stored in an in-memory database, the table having a plurality of rows distributed across one or more pages in the in-memory database, each of the plurality of rows associated with a unique row position value, and each of the one or more pages associated with a capacity representative of an amount of data stored on the page; creating, based at least on capacities of each of the plurality of pages in the in-memory database, a capacity index having a plurality of entries, the creation of the capacity index comprising; inserting, into the capacity index, an entry corresponding to a first capacity of a first page, in response to the first capacity being different than a second capacity of a second page that precedes the first page; creating a page directory based on the capacity index, the page directory indicating a plurality of row position values included in each of the one or more pages in the in-memory database; and executing, based at least on the page directory, a database query on the in-memory database, the execution of the query comprising; identifying, based at least on the page directory, a page that includes a row having a target row position value; and loading, from the in-memory database, the page that includes the row having the target row position value. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium containing instructions to configure a processor to perform operations comprising:
-
accessing a table stored in an in-memory database, the table having a plurality of rows distributed across one or more pages in the in-memory database, each of the plurality of rows associated with a unique row position value, and each of the one or more pages associated with a capacity representative of an amount of data stored on the page; creating, based at least on capacity of each of the plurality of pages in the in-memory database, a capacity index having a plurality of entries, the creation of the capacity index comprising; inserting, into the capacity index, an entry corresponding to a first capacity of a first page, in response to the first capacity being different than a second capacity of a second page that precedes the first page; creating a page directory based on the capacity index, the page directory indicating a plurality of row position values included in each of the one or more pages in the in-memory database; and executing, based at least on the page directory, a database query on the in-memory database, the execution of the query comprising; identifying, based at least on the page directory, a page that includes a row having-a target row position value; and loading, from the in-memory database, the page that includes the row having the target row position value. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
at least one processor; and at least one memory, wherein the at least one processor and the at least one memory are configured to perform operations comprising; accessing a table stored in an in-memory database, the table having a plurality of rows distributed across one or more pages in the in-memory database, each of the plurality of rows associated with a unique row position value, and each of the one or more pages associated with a capacity representative of an amount of data stored on the page; creating, based at least on capacities of each of the plurality of pages in the in-memory database, a capacity index having a plurality of entries, the creation of the capacity index comprising; inserting, into the capacity index, an entry corresponding to a first capacity of a first page, in response to the first capacity being different than a second capacity of a second page that precedes the first page; creating a page directory based on the capacity index, the page directory indicating a plurality of row position values included in each of the one or more pages in the in-memory database; and executing, based at least on the page directory, a database query on the in-memory database, the execution of the query comprising; identifying, based at least on the page directory, a page that includes a row having a target row position value; and loading, from the in-memory database, the page that includes the row having the target row position value. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification