In-Memory Database Page Size Adaptation During Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory databases face issues with fixed page sizes, leading to inefficient I/O operations if the size is too small or fragmentation if it's too large, resulting in wasted space and performance problems.

Innovation Solution

The solution involves dynamically changing the page size of already allocated pages in an in-memory database by allocating a new size corresponding to the greater of the current and intended page size, reorganizing content, updating page headers, and maintaining information about free space and deleted entries to optimize memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a fixed small page size is used, then I/O operations are faster, but memory space is wasted due to fragmentation

Engineering Contradiction:
ImproveI/O operation speedVSAvoidmemory space waste
Core Design Contradiction:
SpeedVSLoss of substance

Solution Approach 1:

The patent applies dynamics by making the page size changeable after allocation. The system transitions from a static fixed page size to a dynamic adjustable page size, allowing the database to adapt page sizes based on actual usage patterns and data characteristics, thereby resolving the contradiction between I/O speed and memory efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of page size from a fixed value to a variable that can be adjusted. By allowing page size to be modified after allocation through operations like splitting large pages or merging small pages, the system can optimize both I/O performance and memory utilization depending on the specific operational context

Inventive Principle:
Principle #35Parameter changes

2Loss of substance

If a fixed large page size is used, then memory space utilization is improved, but I/O operations become slower

Engineering Contradiction:
Improvememory space wasteVSAvoidI/O operation speed
Core Design Contradiction:
Loss of substanceVSSpeed

Solution Approach 1:

The system enables dynamic adjustment of page sizes by allowing splits and merges of pages after initial allocation. This dynamic capability permits the database to reduce page sizes for frequently accessed small records or combine pages for bulk operations, optimizing I/O speed while maintaining good memory utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent modifies the page size parameter from a static large value to a flexible variable. Through operations that split large pages into smaller units or merge small pages into larger blocks, the system can adjust the effective page size to match the actual data access patterns, improving I/O performance without sacrificing memory efficiency

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If page size is changed after allocation, then adaptability is improved, but system complexity increases

Engineering Contradiction:
Improvepage size flexibilityVSAvoidmemory management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the memory management system into distinct components: page allocation, page splitting, page merging, and page chaining. This modular approach allows complex page size adjustments to be broken down into manageable operations, reducing the perceived complexity while maintaining high adaptability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary structures such as page chains and converter pages that facilitate page size changes. These intermediaries act as mediators between the fixed physical storage and the logical page structure, enabling flexible page size adjustments without directly complicating the core memory management system

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10810116B2In-memory database with page size adaptation during loading
Publication Date: 2020.10.20 SAP SE
  • US10810116B2 patent drawing
  • US10810116B2 patent drawing
  • US10810116B2 patent drawing

AI summary

Loading of a page into memory of an in-memory database system is initiated. Thereafter, a new page size for the page in memory is allocated corresponding to a greater of a current page size and an intended page size. Later, the page is loaded into the allocated memory so that a consistent change can be opened. Content within the page is reorganized according to the new page size followed by the consistent change being closed.