Insertion Rate Aware B-Tree Node Splitting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

B-trees experience performance issues due to 'hot-spots' caused by uneven insertion activity, leading to contention and undesirable performance during splitting operations, particularly in online transaction processing systems.

Innovation Solution

Implementing an insertion-rate sensitive b-tree that replaces conventional two-way node splitting with n-way node splitting, allowing for 'hi-split' of nodes to distribute access and allocate multiple physical nodes as a single logical node using a hash function to moderate key-based access, thereby reducing insertion rates and cooling off hot-spots.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional two-way node splitting is used in b-trees, then the structure maintains simplicity and balance, but hot-spot contention occurs due to uneven insertion activity focusing on single nodes

Engineering Contradiction:
Improveb-tree performanceVSAvoidhot-spot contention
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent divides a single logical node into multiple physical nodes (n-way splitting instead of traditional 2-way splitting). When a node becomes full, it is segmented into multiple child nodes, distributing the insertion activity across multiple physical locations rather than concentrating it on a single hot-spot node. This segmentation reduces contention by providing multiple insertion points.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to node organization by creating sets of sibling nodes that appear as a single logical node but are distributed across multiple physical nodes. This dimensional change allows the system to handle high insertion rates by distributing operations across multiple physical locations while maintaining the logical structure of a single node.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If nodes are split frequently to accommodate insertions, then the b-tree can handle growing data volumes, but the number of input/output operations increases leading to performance degradation

Engineering Contradiction:
Improveinsertion capacityVSAvoidI/O operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent pre-allocates multiple physical nodes for each logical node in advance, creating a pool of available nodes before they are needed. When insertions occur, the system can allocate from this pre-prepared pool rather than performing expensive I/O operations to create and link new nodes dynamically. This preliminary action reduces the number of I/O operations required during high-insertion periods.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple physical nodes are allocated to distribute insertion activity, then hot-spot contention is reduced, but the device complexity increases due to hash function integration and node management

Engineering Contradiction:
Improveinsertion distributionVSAvoidnode management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a hash function as an intermediary between the logical node and its multiple physical node representations. The hash function moderates key-based access, determining which physical node within a set should receive a given insertion or retrieval operation. This intermediary simplifies the management complexity by providing a deterministic mapping mechanism rather than requiring complex manual node assignment logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8204912B2Insertion rate aware b-tree
Publication Date: 2012.06.19 ORACLE INT CORP
  • US8204912B2 patent drawing
  • US8204912B2 patent drawing
  • US8204912B2 patent drawing

AI summary

Systems, methods, and other embodiments associated with insertion rate responsive b-trees are described. One system embodiment includes a capacity logic to detect a divide condition for a leaf node and an insert logic to determine an insertion level for the leaf node. The system embodiment may include an allocation logic to selectively allocate a set of leaf nodes. Characteristics of the set (e.g., number of members) may depend on the divide condition and the insertion level. The system embodiment may include a partition logic to move a partition key from the leaf node to a parent and to associate the partition key with the set of leaf nodes. A fuzzy index logic may provide key-based addressing to the set of leaf nodes.