Vclusters: A Flexible, Fine-Grained Object Clustering Mechanism
Abstract
We consider the problem of delivering an effective fine-grained clustering tool to implementors and users of object-oriented database systems. This work emphasizes on-line clustering mechanisms, as contrasted with earlier work that concentrates on clustering policies (deciding which objects should be near each other). Existing on-line clustering methods can be ineffective and/or difficult to use and may lead to poor space utilization on disk and in the disk block cache, particularly for small- to medium-size groups of objects. We introduce variable-size clusters (Vclusters), a fine-grained object clustering architecture that can be used directly or as the target of an automatic clustering algorithm. We describe an implementation of Vclusters in the Shore OODBMS and present experimental results that show that Vclusters significantly outperform other mechanisms commonly found in object database systems (fixed-size clusters and near hints). Vclusters deliver excellent clustering and space utilization with only a modest cost for maintaining clustering during updates.