Capacity Index for Fast Row Page Lookup in In-Memory Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large database systems, finding a specific row position value across pages with varying capacities is inefficient, as existing methods require examining the entire chain of pages, which is time-consuming and resource-intensive.

Innovation Solution

Creating a capacity index that records changes in page capacities and a page directory that indicates all possible row position values for each page, allowing for quick identification of the page associated with a desired row position value using binary search, linear search, or reverse linear search.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the entire chain of pages is examined to find a desired row position value, then the search can be performed without additional index structures, but the search time increases significantly

Engineering Contradiction:
Improvesearch timeVSAvoidindex structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent pre-calculates and stores cumulative page capacity values in an index structure before search operations are performed. This preliminary action allows the system to quickly determine which page contains a desired row position value without examining the entire chain of pages during the actual search, thereby reducing search time while maintaining a manageable index structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary index structure that stores cumulative page capacity information between the physical page chain and the search operation. This intermediary allows the system to translate a desired row position value into the corresponding page identifier efficiently, avoiding the need to examine each page in the chain while keeping the index structure relatively simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If page capacity information is stored for all pages, then rapid lookup of row position values is enabled, but memory storage is consumed

Engineering Contradiction:
Improvelookup speedVSAvoidmemory storage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential cumulative page capacity information from the complete page chain and stores it in a compact index structure. Instead of storing all page capacity details for every page, the system extracts and stores only the cumulative values needed for lookup operations, thereby enabling rapid row position value lookups while consuming minimal memory storage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the raw page capacity data into cumulative capacity values and stores them in a compressed index format. This parameter transformation allows the system to perform efficient lookups by comparing the desired row position value against cumulative capacities, achieving high lookup speed while using less memory than storing complete page-by-page capacity information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9898551B2Fast row to page lookup of data table using capacity index
Publication Date: 2018.02.20 SAP SE
  • US9898551B2 patent drawing
  • US9898551B2 patent drawing
  • US9898551B2 patent drawing

AI summary

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.