Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The hB-tree: a multiattribute indexing method with good guaranteed performance
Lomet D., Salzberg B. ACM Transactions on Database Systems15 (3):625-658,1990.Type:Article
Date Reviewed: Jun 1 1991

The term hB-tree stands for “holey brick B tree.” A brick is a multidimensional rectangle, and a holey brick is a brick from which one or more smaller bricks may have been extracted. The hB-tree is used here as an index structure for data records where several attributes form the record index. Such a multidimensional clustering can considerably reduce the number of storage accesses when multi-attribute searches are the rule; inserting a new record requires updating a single index instead of multiple single-attribute indexes. The hB-tree is a skillful extension of B+ trees to several dimensions that essentially shares all their desirable properties.

Each node representing a holey brick has two direct subnodes, which usually partition it in a single dimension; sometimes several dimensions are utilized. Using subnodes in several dimensions leads to holes in the bricks; preferably a corner (rather than an interior part) is removed. The leaves of the tree are the data nodes, that is, the pages containing records. If inserting a new record forces a data node to split, it may happen that any one-dimensional subdivision results in heavily unbalanced new leaves, but holey bricks can guarantee that each leaf contains at least one-third of the records (if no multiple records with equal indexing attributes exist). Subtrees of the hB-tree are stored on the index pages, which the authors call index nodes because they form a tree with multiple descendants of an index page. If such an index page overflows, it must be split as well. Splitting at the root may result in unbalanced new index pages, but using holey bricks one can now ensure that each leaf contains at least one-third of the nodes contained in the old index page. Splitting a node is possible without adjusting the subtrees, in contrast to K-D-B-trees, which were the point of departure for developing hB-trees and which they resemble in other ways.

The authors give the construction of the hB-tree and the algorithms for splitting leaves or index pages in detail. They also analyze average as well as worst-case behavior for the addition of records and for the search. Thus it is guaranteed that the hB-tree has a good space utilization in the index and data pages, that the index is significantly smaller than the data collection, and that match queries have a good performance. This holds for exact match queries as well as for range queries and for arbitrary distributions of the keys. Other known methods for multi-attribute indexing, such as bit interleaving, grid files, and K-D-B-trees, have considerably inferior worst-case behavior in some respects, while even B+ trees in one dimension (where an even partition on both subnodes can always be achieved) behave only marginally better.

Reviewer:  F. Gebhardt Review #: CR115119
Bookmark and Share
 
Trees (E.1 ... )
 
 
Access Methods (H.2.2 ... )
 
 
File Organization (H.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Trees": Date
Multidimensional trees
Baldwin W., Strawn G. Theoretical Computer Science 84(2): 293-311, 1991. Type: Article
Oct 1 1992
Hash trees versus b-trees
Bell D., Deen S. The Computer Journal 27(3): 218-224, 1984. Type: Article
Feb 1 1985
The generation of binary trees as a numerical problem
Sprugnoli R. Journal of the ACM 39(2): 317-327, 1992. Type: Article
Aug 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy