The M-tree is a paged, dynamically balanced metric access method that responds gracefully to the insertion of new objects. Like many spatial access methods, the M-tree's performance is largely dependent on the degree of overlap between spatial regions represented by nodes in the tree, and minimisation of overlap is key to many of the design features of the M-tree and related structures. We present a novel approach to overlap minimisation using a new bulk loading algorithm, resulting in a query cost saving of between 25% and 40% for non-uniform data. The structural basis of the new algorithm suggests a way to modify the M-tree to produce a variant which we call the SM-tree. The SM-tree has the same query performance after bulk loading as the M-tree, but further supports efficient object deletion while maintaining the usual balance and occupancy constraints.
Alan P. Sexton, Richard Swinbank