Index Tree Search Range Allocation for Database Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database management systems face performance bottlenecks due to exclusive conflicts between threads during index access processing, particularly when multiple threads access the same data structure in parallel, leading to reduced throughput and load imbalance issues.
Innovation Solution
An index tree search method that allocates search ranges to multiple threads, allowing only accessible nodes to be subject to exclusive control, thereby reducing the frequency of exclusive conflicts and enabling load balancing without altering the index tree structure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive control is executed to intermediate nodes and lower-level nodes in index tree search, then data consistency is maintained, but the granularity of exclusive control becomes large causing frequent conflicts and performance degradation
Solution Approach 1:
The patent segments the index tree into multiple independent search ranges, each assigned to different threads. This segmentation allows threads to access different portions of the index tree simultaneously without requiring exclusive control on the entire tree or intermediate nodes, thereby reducing lock conflicts while maintaining data consistency within each segment.
Solution Approach 2:
The patent applies exclusive control only locally to specific leaf nodes or small portions of the index tree that are actually being modified, rather than applying it globally to intermediate nodes and entire search ranges. This local quality approach minimizes the scope of exclusive control, reducing conflicts between threads while ensuring data consistency at the point of modification.
2Productivity
If index tree structure is changed to balance thread loads, then load balancing is achieved, but processing load increases due to data structure changes and exclusive control between subtrees
Solution Approach 1:
The patent dynamically adjusts the allocation of search ranges to threads based on observed load conditions, allowing the system to adapt to imbalanced workloads without changing the underlying index tree structure. This dynamic reassignment of search ranges enables load balancing while avoiding the complexity of modifying the index tree data structure itself.
3Productivity
If multiple threads access the same index tree simultaneously, then processing throughput increases, but exclusive conflicts between threads occur reducing simultaneous access performance
Solution Approach 1:
The patent divides the index tree into multiple independent search ranges that can be accessed simultaneously by different threads. This segmentation eliminates the need for exclusive control on shared intermediate nodes, allowing multiple threads to operate in parallel without waiting for locks, thereby increasing throughput while minimizing wait time.
Data Source
AI summary
An index tree search method, by a computer, for searching an index tree included in a database provided by the computer which includes processors executing a plurality of threads and a memory, the index tree search method comprising: a first step of allocating, by the computer, search ranges in the index tree to the plurality of threads; a second step of receiving, by the computer, a search key; a third step of selecting, by the computer, a thread corresponding to the received search key; and a fourth step of searching, by the computer, the index tree with the selected thread using the received search key.


