Buffer Pool Management via Segmented Contiguous Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Quantity of substance
If traditional buffer pool management is used, then data can be stored, but maintenance costs increase due to frequent data migration
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.
Data Source
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.


