Database Index Buffer Management for Page Split Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sequential database record inserts in DBMS lead to frequent index page splits, causing significant delays as the system must lock and synchronize the index b-tree structure, leading to poor user experience due to prolonged waiting times during index structure changes.

Innovation Solution

Allocate at least two buffers for each index, where entries are stored in one buffer until full or a movement condition is met, then moved in batch operations to the index page while new entries are stored in another buffer, allowing concurrent data insertion without additional delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If entries are stored directly to index pages in sequential inserts, then data retrieval speed is maintained, but frequent index page splits cause prolonged waiting times and reduce system efficiency

Engineering Contradiction:
Improvedata retrieval speedVSAvoidapplication wait times during index structure changes
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The index storage structure is segmented into multiple buffers (first buffer and second buffer) instead of using a single index page. This segmentation allows the system to distribute incoming entries across multiple buffers, reducing the frequency of index page splits and the associated locking operations, thereby decreasing application wait times while maintaining data retrieval speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Entries are preliminarily stored in buffers before being moved to index pages. This preliminary action in buffers allows the system to accumulate entries and perform batch moves to index pages, reducing the frequency of index page splits and locking operations, thus decreasing application wait times while maintaining retrieval performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If index page splits are performed frequently to maintain index structure, then index integrity is maintained, but system efficiency deteriorates due to locking and synchronization overhead

Engineering Contradiction:
Improveindex structure integrityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The index is divided into multiple buffers that can be independently managed. This segmentation allows the system to maintain index integrity by ensuring proper ordering within each buffer while reducing the frequency of global index page splits, thereby maintaining reliability while improving system efficiency through reduced locking overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Buffers serve as intermediary structures between entry insertion and final index page storage. These intermediaries allow the system to maintain index integrity through controlled batch operations while reducing the frequency of expensive index page split operations, thus improving productivity without compromising reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If single buffer is used for index entries, then storage simplicity is maintained, but concurrent data insertion causes delays due to buffer full conditions

Engineering Contradiction:
Improvebuffer management complexityVSAvoidconcurrent data insertion throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The single buffer is segmented into multiple buffers (first buffer and second buffer). This segmentation allows concurrent data insertion operations to distribute entries across multiple buffers, reducing buffer full conditions and improving throughput. The increased complexity is minimal and justified by the significant productivity gain.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer management system dynamically switches between first and second buffers for entry insertion. This dynamic approach allows concurrent operations to continue without delay by switching to an available buffer, improving productivity while keeping the complexity management straightforward through systematic buffer switching.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10169391B2Index management
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10169391B2 patent drawing
  • US10169391B2 patent drawing
  • US10169391B2 patent drawing

AI summary

As disclosed herein a method, executed by a computer, includes storing, by one or more processors, entries associated with an index to a first buffer of at least two buffers allocated to the index, and moving, by a batch operation, by one or more processors, entries in the first buffer into an index page for the index in response to an entry movement condition being met. The method further includes storing, by one or more processors, new entries associated with the index to another buffer of the at least two buffers while moving the entries in the first buffer. A computer program product corresponding to the above method is also disclosed herein. A computer program product and computer system corresponding to the above method are also disclosed herein.