Index Tree Hot Area Pre-allocation for Insert Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiency in data insertion into databases due to frequent index splits in index trees, which leads to reduced performance and increased synchronize I/O operations, as existing methods do not effectively predict and prepare for subsequent data insertions.

Innovation Solution

Identify 'hot areas' in the index tree where previous splits occurred, predict boundary key values for new index pages based on historical data distribution, and pre-insert these pages before the next data insertion to avoid splits and reduce synchronize I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is inserted into a database using an index tree, then efficient access to data is achieved, but frequent index splits reduce insertion performance and increase synchronize I/O operations

Engineering Contradiction:
Improvedata insertion efficiencyVSAvoidtime for index split operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by identifying hot areas in the index tree where splits are likely to occur and pre-allocating new index pages before actual data insertion happens. This advance preparation eliminates the need for time-consuming split operations during data insertion, directly resolving the contradiction between maintaining index tree efficiency and avoiding insertion performance degradation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the index tree structure by continuously monitoring historical split patterns and adapting the pre-allocation strategy accordingly. It identifies changing hot areas and modifies which index pages are pre-allocated, allowing the system to optimize for current insertion patterns while maintaining flexibility to adapt to future changes, thus improving insertion efficiency without permanently increasing complexity.

Inventive Principle:
Principle #15Dynamics

2Reliability

If index splits are performed frequently to accommodate new data, then the index tree remains balanced and accessible, but synchronize I/O operations increase reducing overall performance

Engineering Contradiction:
Improveindex tree balanceVSAvoidinsertion performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary allocation of index pages in advance, ensuring that balanced index tree structure is maintained without requiring frequent synchronize I/O operations during actual data insertion. By pre-positioning pages in hot areas, the system maintains reliability while avoiding performance degradation from repeated I/O operations.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the index tree structure is maintained with strict balance, then data access efficiency is preserved, but insertion operations require more synchronize I/O operations

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsynchronize I/O operations
Core Design Contradiction:
Ease of operationVSUse of energy by stationary object

Solution Approach 1:

The system performs preliminary allocation of index pages before data insertion, ensuring that the index tree structure is prepared to maintain balance without requiring energy-intensive synchronize I/O operations during actual insertion. This advance preparation reduces the energy consumption of the stationary database system while preserving data access efficiency.

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If no pre-allocation is performed, then the index tree structure remains simple, but index splits occur frequently during data insertion reducing performance

Engineering Contradiction:
Improveindex tree management complexityVSAvoidinsertion performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system performs preliminary identification of hot areas and pre-allocation of index pages, adding moderate complexity to the index tree management process. This controlled increase in complexity directly improves insertion performance by eliminating frequent splits, representing an acceptable trade-off that resolves the contradiction between simplicity and performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses historical split information as feedback to identify hot areas and guide pre-allocation decisions. This feedback mechanism allows the system to intelligently manage complexity by focusing pre-allocation only where needed based on actual insertion patterns, improving performance without unnecessarily increasing overall system complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11748304B1Insert performance improvement
Publication Date: 2023.09.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11748304B1 patent drawing
  • US11748304B1 patent drawing
  • US11748304B1 patent drawing

AI summary

The method of this disclosure includes identifying a hot area in an index tree where an index split of the index tree has occurred due to a previous data insertion into a database based on historical statistic information on the index split. The method of this disclosure may further include predicting boundary key values of one or more new index pages to be inserted into the index tree for a next data insertion into the database based on a distribution of the hot area in the index tree. The method of this disclosure may further include inserting the one or more new index pages into the index tree based on the predicted boundary key values prior to the next data insertion.