Cross-Reference Linking in Partitioned B-Trees
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing large databases with multiple partitions becomes inefficient when searching and querying across partitions, especially when the partition to search is unknown or when records are not located within the specified partition, leading to time-consuming searches across multiple B-trees.
Innovation Solution
Implementing a system where each partition is linked to adjacent partitions, allowing records to store pointers that enable efficient location of related records across partitions, reducing the need to initiate searches from the root node of each B-tree by traversing through linked records.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If multiple partitions are created to manage large databases, then search efficiency within individual partitions is improved, but search time across multiple partitions increases
Solution Approach 1:
The patent applies preliminary action by pre-storing cross-reference information in leaf nodes of B-trees. When a record is inserted or updated, the system proactively identifies and stores references to corresponding records in other partitions, so that future cross-partition searches can directly access this pre-computed information without performing extensive searches across multiple partitions.
Solution Approach 2:
The patent uses cross-reference links stored in leaf nodes as intermediaries between partitions. These links act as mediators that connect records across different partitions, allowing the search mechanism to jump directly to relevant records in other partitions rather than searching through entire partitions, thus reducing cross-partition search time.
2Reliability
If separate searches are initiated for each partition when partition is unknown, then complete search coverage is achieved, but search time becomes prohibitive
Solution Approach 1:
The system performs preliminary action by pre-establishing cross-reference links in leaf nodes that indicate the presence and location of related records in other partitions. This allows the search to start in one partition and use these pre-stored references to efficiently locate records in other partitions without initiating separate full searches, maintaining completeness while reducing time.
Solution Approach 2:
The patent merges the search process across partitions by using cross-reference links to combine results from multiple partitions into a single coherent search operation. Instead of performing separate independent searches and then combining results, the system uses the interconnected leaf node references to perform a unified search that naturally aggregates results across partitions.
3Speed
If cross-reference links are stored in leaf nodes, then search efficiency across partitions is improved, but storage requirements increase
Solution Approach 1:
The patent uses copying by storing reference information (pointers or keys) in leaf nodes rather than duplicating entire records. The cross-reference links contain only the minimal necessary information (such as partition identifier and record key) to locate related records in other partitions, significantly reducing the storage overhead compared to full record duplication while maintaining fast access capability.
Data Source
AI summary
A system and method for managing multiple partitions of a database are disclosed. According to one embodiment, each partition contains a subset of all records of the database, and is respectively associated with a secondary index B-tree, and a primary key B-tree. To retrieve a data record from the database, a partition is selected and a search is initiated on the associated secondary index B-tree for one or more records having a desired secondary index value. If records are so located, a primary key value obtained from one of the records is used to search the associated primary key B-tree to locate the data. In some cases, the search of the secondary index B-tree may not find the desired secondary index value within the selected partition. In these instances, pointers directed to one or more other partitions are used to locate records containing the desired secondary index value.


