Buffer Pool Management via Segmented Contiguous Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current buffer pool management techniques face performance bottlenecks due to the maintenance of least recently used (LRU) chains, which lead to increased latch usage and degradation in data access performance as the size of the buffer pool increases, especially in large databases.

Innovation Solution

Implementing a buffer pool management system that allocates contiguous buffer segments for storing data partitions in a continuous order, reducing the need for frequent data migration and latch usage, and using a combination of contiguous and LRU buffer parts to optimize data access and maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If buffer pool size is increased to store more data, then cache hit rate is improved, but latch usage increases and data access performance degrades

Engineering Contradiction:
Improvebuffer pool sizeVSAvoiddata access performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The buffer pool is divided into multiple buffer segments, each independently managed with its own metadata structure. This segmentation allows parallel access to different segments without requiring global latches, thereby maintaining high cache hit rates while reducing latch contention and improving data access performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the metadata management structure from the traditional unified buffer pool and creates separate metadata structures for each buffer segment. This extraction enables independent management of each segment, reducing the need for global latches and allowing the buffer pool to scale without proportionally increasing latch usage.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If traditional buffer pool management is used, then data can be stored, but maintenance costs increase due to frequent data migration

Engineering Contradiction:
Improvedata storage capacityVSAvoidmaintenance time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent pre-allocates buffer segments with sufficient capacity and establishes metadata structures in advance. This preliminary action reduces the need for frequent data migration during buffer pool expansion, as new segments are ready to accept data immediately rather than requiring dynamic reallocation and migration operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11874765B2Buffer pool management
Publication Date: 2024.01.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11874765B2 patent drawing
  • US11874765B2 patent drawing
  • US11874765B2 patent drawing

AI summary

A processor may allocate a first buffer segment from a buffer pool. The first buffer segment may be configured with a first contiguous range of memory for a first data partition of a data table. The first data partition comprising a first plurality of data blocks. A processor may store the first plurality of data blocks in order into the first buffer segment. A processor may retrieve the target data block from the first buffer segment in response to a data access request for a target data block of the first plurality of data blocks.