Mapping logical row identifiers for primary B+tree-like structures to physical row identifiers
First Claim
1. A method for loading/populating a primary B+tree in a memory of a computer system having an associated mapping table, the method comprising:
- generating a row of the mapping table for each row of the primary B+tree; and
storing in each row of the mapping table a row identifier for a corresponding row of the primary B+tree, the row identifier comprising a primary key column value for each row of the primary B+tree and a guess-DBA.
3 Assignments
0 Petitions
Accused Products
Abstract
A mapping mechanism for a primary B+tree in a database management system. The primary B+tree includes a plurality of rows. The mapping mechanism includes introducing a mapping table that includes a plurality of rows, including a row for each row of the primary B+tree, and that stores the logical identifier of the corresponding primary B+tree row. In addition, reverse mapping is provided by augmenting a primary B+tree to include in each primary B+tree row a physical row identifier of the corresponding mapping table row. An auxiliary structure created on a primary B+tree can make use of the proposed mapping mechanism. Specifically, the auxiliary structures refers to primary B+tree rows indirectly by storing the physical row identifier of the corresponding mapping table row.
56 Citations
16 Claims
-
1. A method for loading/populating a primary B+tree in a memory of a computer system having an associated mapping table, the method comprising:
-
generating a row of the mapping table for each row of the primary B+tree; and
storing in each row of the mapping table a row identifier for a corresponding row of the primary B+tree, the row identifier comprising a primary key column value for each row of the primary B+tree and a guess-DBA.
-
-
2. A method for maintaining a circular dependency between a mapping table row in a memory of a computer system and a primary B+tree row in the memory of the computer system, the method comprising:
-
computing a length of a mapping table row based upon a length of a primary key and an overhead of a guess-DBA;
utilizing the computed length to identify a mapping table block that can accommodate the row;
reserving a slot in the identified mapping table block, wherein an address of the block and a reserved slot form a mapping table physical row identifier;
inserting a primary B+tree row containing the physical row identifier into the primary B+tree;
utilizing a leaf block address of the primary B+tree row to construct a row of the mapping table; and
inserting the mapping table row in the reserved slot. - View Dependent Claims (3, 4, 5)
-
-
6. A computer program product for performing a process for indexing a primary B+tree, the computer program product comprising:
-
a computer readable medium; and
computer program instructions, recorded on the computer readable medium, executable by a processor, for performing the steps of;
generating a row of a mapping table for each row of the primary B+tree; and
storing in each row of the mapping table a row identifier for a corresponding row of the primary B+tree, the identifier comprising a primary key column value and a guess-database address for each row of the primary B+tree.
-
-
7. A system for performing a process for indexing a primary B+tree, the system comprising:
-
a processor operable to execute computer program instructions; and
a memory operable to store computer program instructions executable by the processor, for performing the steps of;
generating a row of a mapping table for each row of the primary B+tree; and
storing in each row of the mapping table a row identifier for a corresponding row of the primary B+tree, the identifier comprising a primary key column value and a guess-database address for each row of the primary B+tree.
-
-
8. A method of referencing rows of a primary B+tree in the memory of a computer system, the method comprising:
-
generating a mapping table in the memory of the computer system, the mapping table having a row for each row of the primary B+tree; and
storing in each row of the mapping table a primary key value from the primary B+tree, wherein the mapping table provides one-to-one mapping between primary keys of the primary B+tree structure and physical row identifiers of the mapping table. - View Dependent Claims (9)
-
-
10. A method of generating a mapping table in a memory of a computer system, comprising:
-
generating a row of the mapping table for each row of a primary B+tree; and
storing in each row of the primary B+tree a mapping table row identifier, the mapping table row identifier comprising a physical row identifier of a corresponding mapping table row. - View Dependent Claims (11, 12)
-
-
13. A method for maintaining a circular dependency between a mapping table row in a memory of a computer system and a primary index row in the memory of the computer system, the method comprising:
-
computing a length of a mapping table row based upon a length of a primary key and an overhead of a guess-DBA;
utilizing the computed length to identify a mapping table block that can accommodate the row;
reserving a slot in the identified mapping table block, wherein an address of the block and a reserved slot form a mapping table physical row identifier;
inserting a primary index row containing the physical row identifier into the primary index;
utilizing a leaf block address of the primary index row to construct a row of the mapping table; and
inserting the mapping table row in the reserved slot. - View Dependent Claims (14, 15, 16)
-
Specification