The K-D-B-Tree: A Search Structure for Large Multidimensional Dynamic Indexes

The K-D-B-Tree: A Search Structure for Large Multidimensional Dynamic Indexes

1981 | John T. Robinson
The K-D-B-Tree is a new data structure designed for efficient search in large, dynamic multidimensional indexes. It combines properties of K-D-trees and B-trees, aiming to balance multidimensional search efficiency with I/O efficiency. The structure uses pages to store nodes, ensuring efficient use of secondary memory. Unlike B-trees, K-D-B-trees do not guarantee 50% page utilization, but preliminary experiments suggest around 60% utilization for cyclic 2-D and 3-D trees. The K-D-B-tree structure consists of region pages and point pages. Region pages store regions and page IDs, while point pages store (point, location) pairs. The tree is a multi-way tree with balanced paths, ensuring consistent depth for all leaf nodes. Region pages contain disjoint regions whose union is a region, and their union covers the entire domain when the root is a region page. For queries, the algorithm traverses the tree, checking intersections of regions with the query region. Insertions involve splitting regions or point pages along a chosen domain and element, ensuring balanced distribution. Deletions and reorganization techniques are used to maintain efficiency, similar to B-tree operations like catenation and underflow. Reorganization can combine pages to prevent underfilling and improve storage utilization. Preliminary experiments show that K-D-B-trees achieve around 60% storage utilization and efficient page access for insertions. Query efficiency is measured by the ratio of records retrieved to pages accessed, showing good performance for full range queries. However, for partial match or range queries, other structures might be more suitable. The K-D-B-tree is expected to be efficient for K=2 and K=3, but further research is needed, particularly in implementing reorganization and exploring non-uniform point distributions. The structure can degenerate into a B-tree for highly correlated points or into a collection of (K-1)-D-B-trees for small domains.The K-D-B-Tree is a new data structure designed for efficient search in large, dynamic multidimensional indexes. It combines properties of K-D-trees and B-trees, aiming to balance multidimensional search efficiency with I/O efficiency. The structure uses pages to store nodes, ensuring efficient use of secondary memory. Unlike B-trees, K-D-B-trees do not guarantee 50% page utilization, but preliminary experiments suggest around 60% utilization for cyclic 2-D and 3-D trees. The K-D-B-tree structure consists of region pages and point pages. Region pages store regions and page IDs, while point pages store (point, location) pairs. The tree is a multi-way tree with balanced paths, ensuring consistent depth for all leaf nodes. Region pages contain disjoint regions whose union is a region, and their union covers the entire domain when the root is a region page. For queries, the algorithm traverses the tree, checking intersections of regions with the query region. Insertions involve splitting regions or point pages along a chosen domain and element, ensuring balanced distribution. Deletions and reorganization techniques are used to maintain efficiency, similar to B-tree operations like catenation and underflow. Reorganization can combine pages to prevent underfilling and improve storage utilization. Preliminary experiments show that K-D-B-trees achieve around 60% storage utilization and efficient page access for insertions. Query efficiency is measured by the ratio of records retrieved to pages accessed, showing good performance for full range queries. However, for partial match or range queries, other structures might be more suitable. The K-D-B-tree is expected to be efficient for K=2 and K=3, but further research is needed, particularly in implementing reorganization and exploring non-uniform point distributions. The structure can degenerate into a B-tree for highly correlated points or into a collection of (K-1)-D-B-trees for small domains.
Reach us at info@study.space